Thanks to visit codestin.com
Credit goes to github.com

Skip to content

What is the difference between the API and SDK? #1186

@emschwartz

Description

@emschwartz

As a user of opentelemetry, there are quite a few terms to learn when navigating the various packages to achieve some goal.

One of the things I've found confusing is the separation between the opentelemetry_api and opentelemetry_sdk. As an outsider that may be missing some project-specific context, those two terms sound like they ought to be interchangeable. My general understanding of SDKs are that they're libraries or sets of libraries that help you build against or on top of APIs. I don't understand why they're separate in OpenTelemetry world and it always feels somewhat random to me what things I need to import from the API or SDK crate.

The OpenTelemetry glossary doesn't help that much:

Application Programming Interface. In the OpenTelemetry project, used to define how telemetry data is generated per Data Source.

Short for Software Development Kit. Refers to a telemetry SDK that denotes a Library that implement the OpenTelemetry API.

Could this be clarified further in the docs or (I assume not) could the crates just be combined?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-commonArea:common issues that not related to specific pillarpriority:p1Critical issues and bugs. Highest priority.triage:acceptedHas been triaged and accepted.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions