Measurement Metadata

You can provide custom metadata when starting a new measurement or when completing a measurement using either the done() or fail() methods of the Instrument.

Providing metadata is useful for:

  • Filtering measurements when creating indicators in Polaris.
  • Providing additional context when debugging issues.

Add Metadata

Let's add custom metadata to a measurement.

React
export class AppComponent {

  constructor(private readonly polaris: PolarisService) {}

  onAuthenticate() {
    const instrument = this.polaris.getInstrument('event-name');
    instrument.start({
      tier: user.tier,
    })
  }
}

Let's review the code above.

  • First, we get an instrument using the getInstrument() method of the PolarisService.
  • Next, we call the start() method of the Instrument and pass in an object as the first parameter with our metadata.

Add Metadata when Completing a Measurement

You can also add metadata when invoking the done() or fail() methods on the Instrument.

React
export class AppComponent {

  constructor(private readonly polaris: PolarisService) {}

  onAuthenticate() {
    const instrument = this.polaris.getInstrument('event-name');

    // code you want to measure

    instrument.done({
      attribute1: 'value1',
      attribute2: 'value2',
    });
  }
}

You can also add metadata when indicating a failure using the fail() method.

React
export class AppComponent {

  constructor(private readonly polaris: PolarisService) {}

  onAuthenticate() {
    const instrument = this.polaris.getInstrument('event-name');

    try {
      // code you want to measure
    } catch (error) {
      instrument.fail({
        attribute1: 'value1',
        attribute2: 'value2',
      });
    }
  }
}