Skip to content

Standardize telemetry samples to go with instrumentation entries in the OTel registry #2441

@punya

Description

@punya

As an end-user looking for instrumentation for my chosen language/library/tool, I want to quickly see a sample of the telemetry I'll get by adopting an OTel instrumentation library, so that I can evaluate whether it'll serve my obervability needs.

Today, to evaluate an instrumentation library I find in the registry, I need to

  1. follow the steps to add it to my application
  2. possibly set up: the OTel SDK, an exporter, a collector, and an observability backend
  3. exercise my application in a way that generates telemetry
  4. find the telemetry in my backend (without knowing exactly what to look for)

It would be great if the registry also provided a standard location and format for telemetry samples. Concretely,

  1. We'd add a samples field to the YAML files backing the registry.
  2. We'd index the content of the samples and link to them from the search result snippet.

Using https://github.com/open-telemetry/opentelemetry.io/blob/main/data/registry/instrumentation-go-grpc.yml as an example, this might look like

title: gRPC instrumentation
registryType: instrumentation
isThirdParty: false
language: go
tags:
  - go
  - instrumentation
  - grpc
repo: https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation/google.golang.org/grpc
license: Apache 2.0
description: Go contrib plugin for Google's grpc package.
authors: OpenTelemetry Authors
otVersion: latest

samples:

- name: Trace attributes sample
  libraryVersion: 3.4.5
  scopeLabels:
  - key: key-name
    value: actual-value
    semconv: url of relevant semconv, if any
  spanLabels:
  - key: key-name
    value: actual-value
    semconv: url of relevant semconv, if any

- name: Metric attributes sample
  libraryVersion: 3.4.5
  scopeLabels:
  - key: key-name
    value: actual-value
    semconv: url of relevant semconv, if any

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:discussionDo not use, convert discussion issues into real "Discussions"

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions