open-telemetry / open-telemetry/opentelemetry-java-instrumentation

Can we mark logging instrumentation as stable when the logs sdk is stable in 1.27.0?

Open
#8,637 15 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 18h
Merged PRs (30d)
228

Description

From the SIG meeting 2023-06-01:

The following aspects have to be considered:

Semantic Conventions

All semantic conventions are marked as experimental - but this should not hold us back from making the appenders stable.

Experimental features

An overview which features have semantic conventions.

Feature Semantic conventions
captureExperimentalAttributes yes, thread.name, thread.id
captureCodeAttributes yes, code.filepath, code.namespace, code.function, code.lineno
captureMarkerAttribute no
captureKeyValuePairAttributes no - does it make sense? add a prefix?
captureMdcAttributes no - does it make sense? add a prefix?

Logback

  • captureExperimentalAttributes - captures thread name and ID - is already marked as experimental
  • captureCodeAttributes - captures code related attributes - is there any reason this should be experimental? Maybe because code attributes are relatively new?
  • captureMarkerAttribute - is there any reason this should be experimental?
  • captureKeyValuePairAttributes - captures key value pairs from logging events that the user added - looks good to stay as is
  • captureMdcAttributes - captures MDC attributes (user supplied list) - any reason this should be marked experimental?

Log4j

  • captureExperimentalAttributes - same as logback
  • captureMapMessageAttributes - same as captureKeyValuePairAttributes from logback
  • captureMarkerAttribute - looks the same as logback,
  • captureContextDataAttributes - same as captureMdcAttributes from logback
  • captureCodeAttributes is missing here - should it be added?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the Logback and Log4j instrumentation options named in the issue, starting with how their experimental attributes are currently classified. Determine which semantic-convention dependencies and capture options prevent stability, including whether Log4j needs code-attribute support. Done means the stability scope and treatment of each listed option are clearly decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.