1.2.0 • Published 9 months ago

@axiomhq/js v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Javascript SDK for Axiom

Quickstart

Install using npm install:

npm install @axiomhq/js

If you use the Axiom CLI, run eval $(axiom config export -f) to configure your environment variables.

Otherwise create a new token in the Axiom settings and export it as AXIOM_TOKEN.

You can also configure the client using options passed to the constructor of the Client:

import { Axiom } from '@axiomhq/js';

const axiom = new Axiom({
  token: process.env.AXIOM_TOKEN,
});

You can then ingest data like this:

axiom.ingest('my-dataset', [{ foo: 'bar' }]);
await axiom.flush();

Note that the client is automatically batching events in the background, in most cases you'll only want to call flush() before your application exits.

And query data like this:

const res = await axiom.query(`['my-dataset'] | where foo == 'bar' | limit 100`);
console.log(res);

For further examples, head over to the examples directory.

Capture Errors

To capture errors, you can pass a method onError to the client:

let client = new Axiom({
  token: '',
  ...,
  onError: (err) => {
    console.error('ERROR:', err);
  }
});

by default onError is set to console.error.

Annotations

Starting from v1.0.0 the SDK supports the Annotations API. You can create annotations like this:

// import the annotations module
import { annotations } from '@axiomhq/js';
// create a client
const client = new annotations.Service({ token: process.env.AXIOM_TOKEN });

Then create an annotation like this:

await annotations.create({
  type: 'deployment',
  datasets: ['dataset_name'],
  title: 'New deployment',
  description: 'Deployed version 1.0.0 with fixes for ...',
})