Naijacloud
Docs

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.

2 min read

Pick your language

LanguagePackagePage
Node.js@naijacloud/argusNode.js
Express@naijacloud/argusExpress
NestJS@naijacloud/argusNestJS
Next.js@naijacloud/argusNext.js
Browser@naijacloud/argusBrowser
Python (Django, Flask, FastAPI)naijacloud-argusPython
PHP and Laravelnaijacloud/argus, naijacloud/argus-laravelPHP and Laravel
Gogithub.com/naijacloud/argus-goGo
Ruby and Railsnaijacloud-argusRuby 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:

DSN format
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:

SettingRead from, in order
DSNthe dsn option, ARGUS_DSN, SENTRY_DSN
Releasethe release option, ARGUS_RELEASE, SENTRY_RELEASE
Environmentthe 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, bvn and card become [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.