Skip to content

chore(otlp-exporter): added support for log signal - #2830

Open
aryamohanan wants to merge 4 commits into
feat-otlp-exporterfrom
feat-otlp-log-playground
Open

aryamohanan wants to merge 4 commits into
feat-otlp-exporterfrom
feat-otlp-log-playground

Conversation

@aryamohanan

@aryamohanan aryamohanan commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

OTLP log mapping

Log spans are now converted to OTLP LogRecords and sent to /v1/logs, separately from the traces.

Log Record Mapping

OTLP field Instana source Notes
timeUnixNano ts ms converted to ns
observedTimeUnixNano ts ms converted to ns
body data.log.message direct
severityText data.log.level the original string, unchanged
severityNumber data.log.level mapping is there
traceId t padded to 32 characters
spanId p the parent span; the log span itself is not exported as a span; padded to 16 characters
attributes none [] for now (TODO)

TODO

  • Add log mapping
  • Support logs in spanbuffer
  • Support log span export in agent
  • Find cases of severity mapping
  • Unit tests
  • Integretion test
  • Manual Test

Reference:

ref https://ibm-software.atlassian.net/browse/INSTA-164692

@aryamohanan aryamohanan mentioned this pull request Oct 14, 2026
3 of 20 tasks
@aryamohanan aryamohanan changed the title otlp-exporter: playground for log signal chore(otlp-exporter): added support for log signal Oct 30, 2026
@aryamohanan
aryamohanan force-pushed the feat-otlp-log-playground branch from daa5540 to 00b34dd Compare October 30, 2026 10:31
return result;
}

/** @param {number} [timestampMs] */

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to common util.(shared with logs)

@aryamohanan
aryamohanan marked this pull request as ready for review November 3, 2026 13:37
@aryamohanan
aryamohanan requested a review from a team as a code owner November 3, 2026 13:37
// TODO: consider parallel processing of spans in later phase
for (let i = 0; i < spans.length; i++) {
const span = spans[i];
if (isLogSpan(span)) {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Handled in spanBuffer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant