Skip to content

Add OpenTelemetry instrumentation for CrewAI#87

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

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

Conversation

@whoIam0987
Copy link

@whoIam0987 whoIam0987 commented Dec 15, 2025

Description

Instrument CrewAI with genai util.

Fixes # (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.


[project.optional-dependencies]
instruments = [
"crewai >= 0.1.0",
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

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

The minimum CrewAI version differs between package.py (>=0.70.0) and pyproject.toml optional dependencies (>=0.1.0). This inconsistency could lead to compatibility issues. The version constraint in package.py should match the one in pyproject.toml optional dependencies, or vice versa. Given that the test-requirements.txt specifies >=0.80.0, consider aligning all version specifications to use a consistent minimum version.

Suggested change
"crewai >= 0.1.0",
"crewai >= 0.80.0",

Copilot uses AI. Check for mistakes.
Copy link
Author

Choose a reason for hiding this comment

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

The pyproject.toml has changed to "crewai >= 0.70.0"

Copy link
Collaborator

Choose a reason for hiding this comment

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

I didn't see it changed. It is still "crewai >= 0.1.0".

@whoIam0987 whoIam0987 changed the title [WIP] Add OpenTelemetry instrumentation for CrewAI Add OpenTelemetry instrumentation for CrewAI Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants