Telemetry Implementation

Following are the 3 ways to generate and send telemetry events. However note that this is applicable only when operating on DSEP 1.0

1. Using the Protocol Server

Protocol Server is enhanced to emit telemetry and send to ONEST Obsrv (the data platform where telemetry events are captured and stored). Use this GitHub Repo to get the updated protocol server code and use it. Backup the logs generated by protocol server till now before doing a deployment. Extract the API data from the backed up logs and ingest Telemetry Implementation Add the following configuration in default-bap-client.yml , default-bap-network.yml , default-bpp-client.yml , default-bpp-network.yml files and deploy the protocol server.

telemetry:
    network:
      url: "TELEMETRY_SERVER_URL"
    # raw events are optional
    raw:
      url: ""  
    batchSize: 100
    # In minutes
    syncInterval: 5
    # Either can be LOCAL or REDIS
    storageType: "LOCAL"
    backupFilePath: "backups"
    redis:
      db: 4
    messageProperties: []
 service: 
   name: "network_service"
   version: "1.0.0"

The protocol server will generate telemetry events and send them in batches of 100 or every 5 minutes to ONEST Obsrv.

Note: Configure the telemetry URL to "https://data.onest.network/data/v1/in/onest-telemetry-testing" for lower environments such as dev, staging, and preprod during testing. For the production telemetry URL, contact the ONEST team when the application is ready for go-live

2. Using the Open Network Telemetry SDK

Open Network Telemetry SDK is a javascript SDK which takes API request message and context object and generates the telemetry events.

Please refer to the readme for more details.

3. Using the API

Use the following API to send telemetry events to ONEST Obsrv.

API curl command

Note: Send the telemetry events in a batch size of 50, 100 or send once in every 30 min.

Sample API Payloads

Telemetry Event

Example Sample Event

Refer to this repo, for more details about the open network telemetry specifications

Test Telemetry Generation

  1. Use the https://webhook.site/ to generate an endpoint URL.

  2. Set the web hook URL as Telemetry URL.

  3. Ensure telemetry events are getting generated for all the relevant APIs in this format.

Last updated

Was this helpful?