SDK overview
One package per language sends errors, logs, metrics, traces, cron check-ins and feature-flag checks to Argus, with one key, your app's DSN. Pick your stack below.
Pick your language
| Language | Package | Page |
|---|---|---|
| Node.js | @naijacloud/argus | Node.js |
| Express | @naijacloud/argus | Express |
| NestJS | @naijacloud/argus | NestJS |
| Next.js | @naijacloud/argus | Next.js |
| Browser | @naijacloud/argus | Browser |
| Python (Django, Flask, FastAPI) | naijacloud-argus | Python |
| PHP and Laravel | naijacloud/argus, naijacloud/argus-laravel | PHP and Laravel |
| Go | github.com/naijacloud/argus-go | Go |
| Ruby and Rails | naijacloud-argus | Ruby and Rails |
Every SDK sends in the background, never throws into your code, and does nothing at all when it has no DSN, so the same code runs locally and in tests.
The DSN
Copy the DSN from your source under Argus → Sources. It looks like this:
https://<public key>@argus-in.naijacloud.com/<project id>The key is public by design: it can only send data to that one source, so it is safe in browser code. See Sources.
Settings every SDK reads
Pass options in code, or set environment variables. The first one set wins:
| Setting | Read from, in order |
|---|---|
| DSN | the dsn option, ARGUS_DSN, SENTRY_DSN |
| Release | the release option, ARGUS_RELEASE, SENTRY_RELEASE |
| Environment | the environment option, ARGUS_ENVIRONMENT, SENTRY_ENVIRONMENT, then production |
On Naijacloud, turn on Send errors to Argus for the service and redeploy.
Each deploy then gets the DSN, release and environment as SENTRY_DSN,
SENTRY_RELEASE and SENTRY_ENVIRONMENT, which every SDK reads when no
ARGUS_ variable is set. See A Naijacloud service.
Already on Sentry?
Keep your Sentry SDK. Argus speaks the Sentry protocol, so changing the DSN line is enough for errors. Each language page shows the one line to change. Switch to the Argus SDK when you want logs, metrics, cron check-ins and flags through the same setup.
Other languages
There is no Argus SDK for Java, .NET or Elixir yet. Use Sentry's official SDK
with your Argus DSN in its dsn setting: errors work exactly as described in
Errors with a Sentry SDK. For logs, metrics and traces,
point an OpenTelemetry exporter at Argus, as in
Traces, metrics & logs. Cron jobs can ping
their cron monitor URL.
What every SDK keeps private
On by default, before anything leaves your app:
- Values of keys such as
password,token,secret,authorization,cookie,bvnandcardbecome[Filtered], at any depth. - Card numbers, bearer tokens and JWTs are filtered inside strings.
- Query strings are removed from URLs in breadcrumbs and spans.
- Request bodies and cookies are never sent.
- The user's IP address is not sent unless you turn it on.
Argus scrubs again when the data arrives. See What is never stored.