Skip to content

feat(langchain): add semconv attributes, operation mapping, and content recording modules [1/5]#4450

Open
nagkumar91 wants to merge 1 commit intoopen-telemetry:mainfrom
nagkumar91:langchain/pr1-foundation-modules
Open

feat(langchain): add semconv attributes, operation mapping, and content recording modules [1/5]#4450
nagkumar91 wants to merge 1 commit intoopen-telemetry:mainfrom
nagkumar91:langchain/pr1-foundation-modules

Conversation

@nagkumar91
Copy link
Copy Markdown
Contributor

Description

Add foundation modules for enhanced LangChain GenAI semantic convention tracing. These are internal building-block modules that will be consumed by subsequent PRs in this series.

New Modules

semconv_attributes.py

Per-operation attribute matrix based on OTel GenAI semantic conventions. Single source of truth for which attributes apply to which operations (chat, text_completion, invoke_agent, execute_tool, invoke_workflow, retrieval). Defines requirement levels (REQUIRED, CONDITIONALLY_REQUIRED, RECOMMENDED, OPT_IN) following the GenAI semconv spec.

operation_mapping.py

Callback-to-semconv operation mapping. Maps each LangChain callback to the correct GenAI semantic convention operation name. Includes heuristic classification for on_chain_start callbacks (agents vs workflows vs internal plumbing) and LangGraph marker recognition.

content_recording.py

Thin integration layer over the shared genai content capture utilities. Provides clear APIs for the callback handler to decide what content should be recorded on spans and events.

Tests

  • test_operation_mapping.py — comprehensive tests for chain classification, agent name resolution, LangGraph markers
  • test_content_recording.py — tests for content policy modes, redaction behavior

PR Series

This is PR 1 of 5 breaking down #4389 into smaller reviewable units:

  1. Foundation modules (this PR)
  2. Provider inference, message formatting, W3C propagation utilities
  3. Span manager enhancements + Event emitter
  4. Callback handler — model, chain, agent callbacks + wiring
  5. Callback handler — tool, retriever callbacks + E2E tests

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • Followed the style guidelines of this project
  • Unit tests have been added

…nt recording modules

Add foundation modules for enhanced LangChain GenAI semantic convention tracing:

- semconv_attributes.py: Per-operation attribute matrix based on OTel GenAI
  semantic conventions. Single source of truth for which attributes apply to
  which operations (chat, text_completion, invoke_agent, execute_tool,
  invoke_workflow, retrieval).

- operation_mapping.py: Callback-to-semconv operation mapping. Maps each
  LangChain callback to the correct GenAI semantic convention operation name.
  Includes heuristic classification for on_chain_start callbacks (agents vs
  workflows vs internal plumbing) and LangGraph marker recognition.

- content_recording.py: Thin integration layer over the shared genai content
  capture utilities. Provides clear APIs for the callback handler to decide
  what content should be recorded on spans and events.

Part 1 of a series breaking down open-telemetry#4389 into smaller reviewable PRs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant