پرش به مطلب اصلی

سایر پلتفرم‌ها و HTTP خام

هر پلتفرمی که SDK رسمی Sentry دارد با ارورا کار می‌کند. SDK را همان‌طور که مستندات Sentry می‌گوید نصب کنید و DSN را روی پروژهٔ ارورا بگذارید؛ تنها تفاوت همین است.

نمونه‌های کوتاه​

// جاوا / کاتلین (sentry-java)
Sentry.init(options -> {
options.setDsn("https://<public_key>@<host>/<project_id>");
options.setEnvironment("production");
options.setTracesSampleRate(0.2);
});
// دات‌نت
SentrySdk.Init(o => {
o.Dsn = "https://<public_key>@<host>/<project_id>";
o.Environment = "production";
o.TracesSampleRate = 0.2;
});
# روبی
Sentry.init do |config|
config.dsn = ENV["SENTRY_DSN"]
config.traces_sample_rate = 0.2
end
// راست
let _guard = sentry::init((std::env::var("SENTRY_DSN")?, sentry::ClientOptions {
release: sentry::release_name!(),
traces_sample_rate: 0.2,
..Default::default()
}));

SDKهای موبایل (sentry-android، sentry-cocoa، Flutter، React Native) هم به همین شکل‌اند؛ فقط برای بیلدهای انتشار، سیمبل‌ها یا سورس‌مپ‌ها را به ازای هر نسخه بارگذاری کنید.

بدون هیچ SDK​

همهٔ محصولات با HTTP ساده هم در دسترس‌اند. مرجع کامل در API دریافت رویداد است؛ خلاصه‌اش این است:

ERRORA=https://errora.example.com
PROJECT_ID=<project_id>
KEY=<public_key>

# ۱. یک رویداد خطا
curl -X POST "$ERRORA/api/$PROJECT_ID/store/" \
-H "Content-Type: application/json" \
-H "X-Sentry-Auth: Sentry sentry_version=7, sentry_key=$KEY" \
-d '{"event_id":"9a1f…","timestamp":"2026-01-01T00:00:00Z","platform":"other",
"level":"error",
"exception":{"values":[{"type":"BackupFailed","value":"disk full"}]}}'

# ۲. هر چیز دیگر (لاگ، تراکنش، متریک، بازخورد…) در قالب پاکت
curl -X POST "$ERRORA/api/$PROJECT_ID/envelope/" \
-H "Content-Type: application/x-sentry-envelope" \
-H "X-Sentry-Auth: Sentry sentry_version=7, sentry_key=$KEY" \
--data-binary @envelope.txt

# ۳. چک‌این کران از یک خط crontab
curl -X POST "$ERRORA/api/$PROJECT_ID/cron/nightly-backup/$KEY/?status=ok"

پاکت، JSON خط‌به‌خط است: یک خط سربرگ، سپس برای هر آیتم یک خط سربرگ {"type": "..."} و یک خط محتوا.

{"event_id":"9a1f…","dsn":"https://<key>@<host>/<project_id>"}
{"type":"log","item_count":1,"content_type":"application/vnd.sentry.items.log+json"}
{"items":[{"timestamp":1767225600.0,"level":"info","body":"backup finished","attributes":{"host":{"value":"db-1","type":"string"}}}]}

انتخاب پلتفرم پروژه​

فیلد platform پروژه (python، php، php-laravel، node، javascript، go، other) فقط آیکون و نمونه‌کد پیشنهادی پنل را تعیین می‌کند. دریافت داده، گروه‌بندی و همهٔ محصولات مستقل از آن یکسان رفتار می‌کنند؛ اگر هیچ‌کدام مناسب نبود other را انتخاب کنید.