Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Insert excerpt
License
License
nameLicensing Information The feature described in this documentation is optional and might not be part of the edition covered by your company's license.
nopaneltrue

When the data is sent out of meter from the Meter processor, also which is known as flush of flushing the record, a record in json format will be sent for each meter associated with the meter Meter processor.

Irrespective Regardless of whether the meter being was updated or not during the last metering period, the meter is will always be flushed when it’s its period ends. meters are Meters will not be flushed after the Active Toto: date and time has been passed for the associated meter type linked except for meters which has that have been updated during the current metering period.

Usage audit are is generated when the input data is outputted output from meter Meter processor.

The metered record can be viewed in JSON format in the Meter Inspector

...

These The following fields are included in the fields which are record sent to downstream systems in JSON format:

Field

Purpose

id

The unique ID of the meter.

userId

Unique The unique ID of the user the meter belongs to, for example an email address, user name, or MSISDN number.

meterTypeId

The unique ID of the meter type that the meter aggregate aggregates usage for.

meterTypeName

Name The name of the meter type this meter is created using.

timezone

The timezone that should be applied for reset time. Defined on in the meter type of for this meter.

meterKey

The meter key for the meter Meter processor aggregating the usage for the meter.

value

The current value of the meter, updated based on the guiding rules and aggregation type defined on in the meter type.

unit

Unit The unit in which this meter is measuringmeasures usage. Defined on in the meter type of for this meter.

createdAt

The UTC timestamp of for when the meter was created.

updatedAt

The UTC timestamp of for when the meter was last updated.

periodStart

Tha UTC timestamp from for when the metering period has started. This is calculated based on when last period has ended.

periodEnd

The UTC timestamp for when the metering period has ended. This is calculated based on reset schedule.

groups

Granular A granular breakdown of the aggregated values, grouped by the guiding rules defined in the Meter Configuration. Each group is represented by an array containing the parameters key, fields, and value.

carryFirst

First The first occurrence of one or many fields that should be carried over from the usage record. Configured This is configured in other Other operations in the Meter Configuration.

carryLast

Last The last occurrence of one or many fields that should be carried over from usage record. Configured This is configured in other Other operations in the Meter Configuration.

deleteOnReset

If this is set to true, the meter will be deleted when ongoing metering period ends. Can This can be updated using the update Meter meter API.

meterMetaData

Additional This is additional meta information related to the usage ingestion example, datetime when the first and last record matched this meter.

Info

Example

...

- Metered Output Record

Code Block
{
  "carryFirst": {
    "country": "Norway"
  },
  "carryLast": {
    "timestamp": "2023-07-05T22:01:04.431Z"
  },
  "createdAt": "2023-07-01T00:00:00.000Z",
  "deleteOnReset": false,
  "groups": [
    {
      "fields": {
        "API name": "createUser"
      },
      "key": "API name:createUser",
      "value": 10
    },
    {
      "fields": {
        "API name": "updateCounter"
      },
      "key": "API name:updateCounter",
      "value": 15
    }
  ],
  "id": "8a76066d-ff29-417c-a18e-abde22e44310",
  "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
  "meterMetaData": {
    "firstEvent": "2023-07-01T13:37:11.111Z",
    "lastEvent": "2023-07-05T22:01:04.431Z"
  },
  "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
  "meterTypeName": "Usage based API counter",
  "periodEnd": "2023-08-01T00:00:00.000Z",
  "periodStart": "2023-07-01T00:00:00.000Z",
  "timezone": "Etc/UTC",
  "unit": "requests",
  "updatedAt": "2023-07-05T22:01:04.431Z",
  "userId": "user0@example.com",
  "value": 25
}

Meter Reset

When flush happens, the values of the meters are also reset to their initial value, for example a value is set to 0 or groups are removed etc, to empty the bucket. At the same time, meters are prepared for the next metering period and Period start and Period end is updated based on when flush happen and the Reset schedule.

If the meters are flushed by Period end in the Meter Processor , then the new period start is set to when the when last period has ended, and the period end is calculated based on the Reset schedule of the respective meter type. Example, meter type has reset schedule everyday at midnight -

Info

Example - Meter Type has Reset Schedule Everyday at Midnight

Ongoing period: Period start - 1st Jan 00:00 and Period end 2nd Jan 00:00.

If stream runs on 2nd Jan on 02:00, New period: Period start at 2nd Jan 00:00 and Period end at 3rd Jan 00:00.

If stream does not run 2nd Jan and runs on 3rd Jan at 02:00, New period: Period start at 2nd Jan 00:00 and Period end at 4th Jan 00:00.

...

This is

...

because before

...

the incoming usage data is processed, the stream scans for meters whose

...

periods have ended and

...

flushes them, so in

...

latter case

...

where the stream runs on 3rd Jan, the usage data from the 2nd of Jan post midnight is included in the new period and usage data up

...

until the 2nd at midnight is already aggregated in the metered and flushed record.

If the meters are flushed by Stream execution in the Meter Processor , the period end of the flushed metered record is set to the time of the flush. The new Period start of the meter in the stream is also set to the time of the flush, and the Period end is calculated using the meter type Reset schedule.

Period start and Period end for a meter can be checked using a in the Meter Inspector.