honeycombio / beeline-ruby

Legacy instrumentation for your Ruby apps with Honeycomb.
Apache License 2.0
22 stars 32 forks source link

Update for E&S #193

Closed vreynolds closed 2 years ago

vreynolds commented 2 years ago

Is your feature request related to a problem? Please describe.

Environments & Services are coming to Honeycomb. The beeline should be updated to support sending data to environments while maintaining backward compatibility. To achieve this, we will set dataset from service name, and provide appropriate warnings depending on environment vs. non-environment teams.

Describe the solution you'd like

Tracing scenario for environment-aware teams:

Tracing scenario for legacy (non-environment-aware) teams:

† While not technically required, service name is highly encouraged to avoid unknown_service and to instead properly describe the data being sent to Honeycomb (and the data being viewed in Honeycomb UI).

This will be addressed in a separate issue/PR: Set spanKind value based on OTel spec for consistency across beelines and OTel.

Notes from decision around defaulting when no service name is provided:

Given a beeline configured with a v2 api key and without a service name When it sends HNY events Then it should use unknown_service as the dataset And it should use unknown_service:process-name as service_name

When given a legacy key, the behavior remains the same as today.

Notes on trimming whitespace