Skip to content

Add OpenTelemetry instrumentation for CrewAI#87

Open
whoIam0987 wants to merge 14 commits intoalibaba:mainfrom
whoIam0987:mingzhi/crewai
Open

Add OpenTelemetry instrumentation for CrewAI#87
whoIam0987 wants to merge 14 commits intoalibaba:mainfrom
whoIam0987:mingzhi/crewai

Conversation

@whoIam0987
Copy link

@whoIam0987 whoIam0987 commented Dec 15, 2025

Description

Instrument CrewAI with genai util.

Fixes #58 (issue)

Type of change

Please delete options that are not relevant.

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

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Modify releated unit tests.

Does This PR Require a Core Repo Change?

  • No.

Checklist:

See contributing.md for styleguide, changelog guidelines, and more.

  • Followed the style guidelines of this project
  • Changelogs have been updated
  • Unit tests have been added
  • Documentation has been updated

@CLAassistant
Copy link

CLAassistant commented Dec 15, 2025

CLA assistant check
All committers have signed the CLA.

@ralf0131
Copy link
Collaborator

Thanks for the contribution! Please fix the CI failure.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds OpenTelemetry instrumentation for the CrewAI framework, enabling automatic tracing of Crew, Agent, Task, and Tool executions with GenAI semantic conventions.

Changes:

  • Implements OpenTelemetry instrumentation wrappers for CrewAI's core components (Crew, Flow, Agent, Task, and Tool)
  • Adds utility functions for JSON serialization and message conversion to GenAI format
  • Includes comprehensive test suite covering synchronous/streaming LLM calls, tool usage, error scenarios, and agent workflows

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
src/opentelemetry/instrumentation/crewai/__init__.py Main instrumentation module with wrapper classes for Crew.kickoff, Flow.kickoff_async, Agent.execute_task, Task.execute_sync, and ToolUsage._use
src/opentelemetry/instrumentation/crewai/utils.py Utility functions for JSON serialization, message conversion, and GenAI hook helpers
src/opentelemetry/instrumentation/crewai/package.py Package metadata defining instrumentation dependencies
src/opentelemetry/instrumentation/crewai/version.py Version information (0.1.0)
pyproject.toml Project configuration with dependencies and build settings
README.md Documentation with installation instructions and usage examples
test-requirements.txt Test dependencies including CrewAI >=0.80.0 and LiteLLM
tests/*.py Comprehensive test suite covering various CrewAI execution scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@whoIam0987 whoIam0987 changed the title [WIP] Add OpenTelemetry instrumentation for CrewAI Add OpenTelemetry instrumentation for CrewAI Feb 5, 2026
2 The CHANGELOG.md file has been added;
3 Metric is not supported.
@Cirilla-zmh Cirilla-zmh added enhancement New feature or request instrumentaion The instrumentation label represents issues related to instrumentation. genai The genai label represents issues related to generative AI. labels Mar 6, 2026
@Cirilla-zmh Cirilla-zmh linked an issue Mar 6, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request genai The genai label represents issues related to generative AI. instrumentaion The instrumentation label represents issues related to instrumentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add instrumentation for CrewAI

6 participants