genai-otel-instrument 0.1.9.dev0__tar.gz → 0.1.12.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of genai-otel-instrument might be problematic. Click here for more details.
- genai_otel_instrument-0.1.12.dev0/.github/images/Landing_Page.jpg +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Logo.jpg +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/GENAI_OpenSearch_output.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/GPU_Metrics.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Trace_HuggingFace_Transformer_Models.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Traces_Ollama.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Traces_OpenAI.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Traces_SmolAgent_Token_Cost_breakdown.png +0 -0
- genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Traces_SmolAgent_with_tool_calls.png +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/CHANGELOG.md +78 -1
- {genai_otel_instrument-0.1.9.dev0/genai_otel_instrument.egg-info → genai_otel_instrument-0.1.12.dev0}/PKG-INFO +74 -33
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/README.md +73 -32
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/anthropic/example.py +1 -1
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/__version__.py +3 -3
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/llm_pricing.json +305 -7
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0/genai_otel_instrument.egg-info}/PKG-INFO +74 -33
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel_instrument.egg-info/SOURCES.txt +9 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.claude/settings.local.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.github/workflows/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.github/workflows/pre-release-check.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.github/workflows/publish.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.github/workflows/test.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.gitignore +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/.gitignore +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/genai_otel_instrument.iml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/inspectionProfiles/Project_Default.xml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/misc.xml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/modules.xml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.idea/vcs.xml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.pre-commit-config.yaml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/.pylintrc +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/Contributing.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/DEVELOPMENT.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/LICENSE +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/MANIFEST.in +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/OTEL_SEMANTIC_COMPATIBILITY.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/OTEL_SEMANTIC_GAP_ANALYSIS_AND_IMPLEMENTATION_PLAN.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/PRE_RELEASE_CHECKLIST.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/TEST_COVERAGE_CHECKLIST.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/TROUBLESHOOTING.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/example_usage.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/anthropic/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/anthropic/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/aws_bedrock/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/aws_bedrock/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/aws_bedrock/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/azure_openai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/azure_openai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/azure_openai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/cohere/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/cohere/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/cohere/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/Dockerfile +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/OPENSEARCH_SETUP.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/app.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/docker-compose.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/GenAI OTel Demo Metrics-1761310525837.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/GenAI OTel Demo Traces-1761321575526.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/GenAI Traces - OpenSearch-1761319701624.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/genai-metrics-dashboard.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/genai-opensearch-traces-dashboard.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/dashboards/genai-traces-dashboard.json +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/provisioning/dashboards/dashboards.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/provisioning/datasources/jaeger.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/provisioning/datasources/opensearch.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/grafana/provisioning/datasources/prometheus.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/opensearch-setup.sh +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/otel-collector-config.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/prometheus.yml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/demo/requirements.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/google_ai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/google_ai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/google_ai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/groq/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/groq/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/groq/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/huggingface/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/huggingface/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/huggingface/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/huggingface/example_automodel.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/langchain/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/langchain/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/langchain/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/litellm/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/llamaindex/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/llamaindex/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/llamaindex/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/mistralai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/mistralai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/mistralai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/ollama/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/ollama/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/ollama/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/openai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/openai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/openai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/phase4_session_rag_tracking.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/replicate/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/replicate/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/replicate/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/smolagents/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/togetherai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/togetherai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/togetherai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/vertexai/.env.example +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/vertexai/README.md +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/vertexai/example.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/__init__.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/auto_instrument.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/cli.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/config.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/cost_calculator.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/cost_enriching_exporter.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/cost_enrichment_processor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/exceptions.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/gpu_metrics.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/__init__.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/anthropic_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/anyscale_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/aws_bedrock_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/azure_openai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/base.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/cohere_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/google_ai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/groq_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/huggingface_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/langchain_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/llamaindex_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/mistralai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/ollama_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/openai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/replicate_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/togetherai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/instrumentors/vertexai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/logging_config.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/__init__.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/api_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/base.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/database_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/kafka_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/manager.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/redis_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/mcp_instrumentors/vector_db_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/metrics.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/py.typed +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel_instrument.egg-info/dependency_links.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel_instrument.egg-info/entry_points.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel_instrument.egg-info/requires.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel_instrument.egg-info/top_level.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/openlit/semcov.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/pyproject.toml +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/requirements-dev.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/requirements-testing.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/requirements.txt +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/sample.env +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/add_ollama_pricing.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/simple_test.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_example_debug.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_exporter_fix.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_final.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_gpu_debug.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_gpu_metrics.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_litellm_instrumentation.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_ollama_cost.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/debug/test_ollama_span_attributes.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/fix_all_deps.sh +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/fix_instrumentors.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/test_installation.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/scripts/test_release.sh +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/setup.cfg +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/setup.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/__init__.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_anthropic_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_anyscale_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_aws_bedrock_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_azure_openai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_base.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_cohere_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_google_ai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_groq_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_huggingface_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_langchain_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_litellm_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_llamaindex_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_mcp_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_mistralai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_ollama_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_openai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_replicate_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_smolagents_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_togetherai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/instrumentors/test_vertexai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_api_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_database_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_kafka_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_manager.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_mcp_base.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_redis_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/mcp_instrumentors/test_vector_db_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_auto_instrument.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_cli.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_config.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_cost_calculator.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_cost_enrichment_processor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_exceptions.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_gpu_metrics.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_init.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_logging_config.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_metrics.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_openai_instrumentor.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_otel_setup.py +0 -0
- {genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/tests/test_phase4_features.py +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
genai_otel_instrument-0.1.12.dev0/.github/images/Screenshots/Traces_SmolAgent_with_tool_calls.png
ADDED
|
Binary file
|
|
@@ -6,7 +6,84 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
## [0.1.
|
|
9
|
+
## [0.1.11] - 2025-10-29
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Enhanced README Documentation**
|
|
14
|
+
- Added professional project logo centered at the top of README
|
|
15
|
+
- Added landing page hero image showcasing the project overview
|
|
16
|
+
- Added comprehensive Screenshots section with 5 embedded demonstration images:
|
|
17
|
+
- OpenAI instrumentation with token usage, costs, and latency metrics
|
|
18
|
+
- Ollama (local LLM) zero-code instrumentation
|
|
19
|
+
- HuggingFace Transformers with automatic token counting
|
|
20
|
+
- SmolAgents framework with complete agent workflow tracing
|
|
21
|
+
- GPU metrics collection dashboard
|
|
22
|
+
- Added links to additional screenshots (Token Cost Breakdown, OpenSearch Dashboard)
|
|
23
|
+
- Added Demo Video section with placeholder for future video content
|
|
24
|
+
- All images follow OSS documentation standards with professional formatting
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **Roadmap Section Cleanup**
|
|
29
|
+
- Removed Phase 4 implementation details from roadmap (Session & User Tracking, RAG/Embedding Attributes)
|
|
30
|
+
- Phase 4 features are now fully implemented and documented in the Advanced Features section
|
|
31
|
+
- Roadmap now focuses exclusively on future releases (v0.2.0 onwards)
|
|
32
|
+
|
|
33
|
+
### Improved
|
|
34
|
+
|
|
35
|
+
- **Comprehensive Model Pricing Database Update**
|
|
36
|
+
- Expanded pricing coverage from 145+ to 240+ models across 15+ providers
|
|
37
|
+
- **OpenAI GPT-5 Series** (4 new models):
|
|
38
|
+
- `gpt-5` - $1.25/$10 per 1M tokens
|
|
39
|
+
- `gpt-5-2025-08-07` - $1.25/$10 per 1M tokens
|
|
40
|
+
- `gpt-5-mini` - $0.25/$2 per 1M tokens
|
|
41
|
+
- `gpt-5-nano` - $0.10/$0.40 per 1M tokens
|
|
42
|
+
- **Anthropic Claude 4/3.5 Variants** (13 new models):
|
|
43
|
+
- Claude 4 Opus series: `claude-4-opus`, `claude-opus-4`, `claude-opus-4-1`, `claude-opus-4.1` - $15/$75 per 1M tokens
|
|
44
|
+
- Claude 3.5 Sonnet: `claude-3-5-sonnet-20240620`, `claude-3-5-sonnet-20241022`, `claude-sonnet-4-5`, `claude-sonnet-4-5-20250929`, `claude-3-7-sonnet` - $3/$15 per 1M tokens
|
|
45
|
+
- Claude 3.5 Haiku: `claude-3-5-haiku-20241022` - $0.80/$4 per 1M tokens
|
|
46
|
+
- Claude Haiku 4.5: `claude-haiku-4-5` - $1/$5 per 1M tokens
|
|
47
|
+
- **XAI Grok Models** (10 new models):
|
|
48
|
+
- Grok 2: `grok-2-1212`, `grok-2-vision-1212` - $2/$10 per 1M tokens
|
|
49
|
+
- Grok 3: `grok-3` - $3/$15 per 1M tokens, `grok-3-mini` - $0.30/$0.50 per 1M tokens
|
|
50
|
+
- Grok 3 Fast: `grok-3-fast` - $5/$25 per 1M tokens, `grok-3-mini-fast` - $0.60/$4 per 1M tokens
|
|
51
|
+
- Grok 4: `grok-4` - $3/$15 per 1M tokens, `grok-4-fast` - $0.20/$0.50 per 1M tokens
|
|
52
|
+
- Image models: `grok-image`, `xai-grok-image` - $0.07 per image
|
|
53
|
+
- **Google Gemini Variants** (2 new models):
|
|
54
|
+
- `gemini-2-5-flash-image` - $0.30/$30 per 1M tokens
|
|
55
|
+
- `nano-banana` - $0.30/$30 per 1M tokens
|
|
56
|
+
- **Qwen Series** (6 new models):
|
|
57
|
+
- `qwen3-next-80b-a3b-instruct` - $0.525/$2.10 per 1M tokens
|
|
58
|
+
- `qwen3-next-80b-a3b-thinking` - $0.525/$6.30 per 1M tokens
|
|
59
|
+
- `qwen3-coder-480b-a35b-instruct` - $1/$5 per 1M tokens
|
|
60
|
+
- `qwen3-max`, `qwen-qwen3-max` - $1.20/$6 per 1M tokens
|
|
61
|
+
- **Meta Llama 4 Scout & Maverick** (6 models with updated pricing):
|
|
62
|
+
- `llama-4-scout`, `llama-4-scout-17bx16e-128k`, `meta-llama/Llama-4-Scout` - $0.15/$0.50 per 1M tokens
|
|
63
|
+
- `llama-4-maverick`, `llama-4-maverick-17bx128e-128k`, `meta-llama/Llama-4-Maverick` - $0.22/$0.85 per 1M tokens
|
|
64
|
+
- **IBM Granite Models** (13 new models):
|
|
65
|
+
- Granite 3 series: `ibm-granite-3-1-8b-instruct`, `ibm-granite-3-8b-instruct`, `granite-3-8b-instruct` - $0.20/$0.20 per 1M tokens
|
|
66
|
+
- Granite 4 series: `granite-4-0-h-small`, `granite-4-0-h-tiny`, `granite-4-0-h-micro`, `granite-4-0-micro` - $0.20/$0.20 per 1M tokens
|
|
67
|
+
- Embeddings: `granite-embedding-107m-multilingual`, `granite-embedding-278m-multilingual` - $0.10/$0.10 per 1M tokens
|
|
68
|
+
- Ollama variants: `granite:3b`, `granite:8b` - $0.20/$0.20 per 1M tokens
|
|
69
|
+
- **Mistral AI Updates** (10 new models):
|
|
70
|
+
- `mistral-large-24-11`, `mistral-large-2411` - $8/$24 per 1M tokens
|
|
71
|
+
- `mistral-small-3-1`, `mistral-small-3.1` - $1/$3 per 1M tokens
|
|
72
|
+
- `mistral-medium-3`, `mistral-medium-2025` - $0.40/$2 per 1M tokens
|
|
73
|
+
- Magistral series: `magistral-small` - $1/$3, `magistral-medium` - $3/$9 per 1M tokens
|
|
74
|
+
- Codestral: `codestral-25-01`, `codestral-2501` - $1/$3 per 1M tokens
|
|
75
|
+
- **Additional Providers**:
|
|
76
|
+
- **Sarvam AI**: `sarvam-m`, `sarvamai/sarvam-m`, `sarvam-chat` - Free (Open source)
|
|
77
|
+
- **Liquid AI**: `lfm-7b`, `liquid/lfm-7b` - $0.30/$0.60 per 1M tokens
|
|
78
|
+
- **Snowflake**: `snowflake-arctic`, `snowflake-arctic-instruct` - $0.80/$2.40 per 1M tokens, `snowflake-arctic-embed-l-v2.0` - $0.05/$0.05 per 1M tokens
|
|
79
|
+
- **NVIDIA Nemotron**: `nvidia-nemotron-4-340b-instruct` - $3/$9 per 1M tokens, `nvidia-nemotron-mini` - $0.20/$0.40 per 1M tokens, `nvidia/llama-3.1-nemotron-70b-instruct` - $0.80/$0.80 per 1M tokens
|
|
80
|
+
- **ServiceNow**: `servicenow-now-assist` - $1/$3 per 1M tokens
|
|
81
|
+
- **Pricing Corrections**:
|
|
82
|
+
- `deepseek-v3.1`: Updated to $0.56/$1.68 per 1M tokens (from $1.20/$1.20)
|
|
83
|
+
- `qwen3:3b`: Renamed to `qwen3:4b` (4B parameter model)
|
|
84
|
+
- All pricing reflects official provider rates as of October 2025
|
|
85
|
+
|
|
86
|
+
## [0.1.9] - 2025-01-27
|
|
10
87
|
|
|
11
88
|
### Added
|
|
12
89
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: genai-otel-instrument
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.12.dev0
|
|
4
4
|
Summary: Comprehensive OpenTelemetry auto-instrumentation for LLM/GenAI applications
|
|
5
5
|
Author-email: Kshitij Thakkar <kshitijthakkar@rocketmail.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -180,6 +180,12 @@ Dynamic: license-file
|
|
|
180
180
|
|
|
181
181
|
# GenAI OpenTelemetry Auto-Instrumentation
|
|
182
182
|
|
|
183
|
+
<div align="center">
|
|
184
|
+
<img src=".github/images/Logo.jpg" alt="GenAI OpenTelemetry Instrumentation Logo" width="400"/>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
187
|
+
<br/>
|
|
188
|
+
|
|
183
189
|
[](https://badge.fury.io/py/genai-otel-instrument)
|
|
184
190
|
[](https://pypi.org/project/genai-otel-instrument/)
|
|
185
191
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
@@ -200,6 +206,14 @@ Dynamic: license-file
|
|
|
200
206
|
[](https://opentelemetry.io/docs/specs/semconv/gen-ai/)
|
|
201
207
|
[](https://github.com/Mandark-droid/genai_otel_instrument/actions)
|
|
202
208
|
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
<div align="center">
|
|
212
|
+
<img src=".github/images/Landing_Page.jpg" alt="GenAI OpenTelemetry Instrumentation Overview" width="800"/>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
203
217
|
Production-ready OpenTelemetry instrumentation for GenAI/LLM applications with zero-code setup.
|
|
204
218
|
|
|
205
219
|
## Features
|
|
@@ -289,6 +303,65 @@ The processor supports OpenInference semantic conventions:
|
|
|
289
303
|
pip install genai-otel-instrument[openinference]
|
|
290
304
|
```
|
|
291
305
|
|
|
306
|
+
## Screenshots
|
|
307
|
+
|
|
308
|
+
See the instrumentation in action across different LLM providers and observability backends.
|
|
309
|
+
|
|
310
|
+
### OpenAI Instrumentation
|
|
311
|
+
Full trace capture for OpenAI API calls with token usage, costs, and latency metrics.
|
|
312
|
+
|
|
313
|
+
<div align="center">
|
|
314
|
+
<img src=".github/images/Screenshots/Traces_OpenAI.png" alt="OpenAI Traces" width="900"/>
|
|
315
|
+
</div>
|
|
316
|
+
|
|
317
|
+
### Ollama (Local LLM) Instrumentation
|
|
318
|
+
Zero-code instrumentation for local models running on Ollama with comprehensive observability.
|
|
319
|
+
|
|
320
|
+
<div align="center">
|
|
321
|
+
<img src=".github/images/Screenshots/Traces_Ollama.png" alt="Ollama Traces" width="900"/>
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
### HuggingFace Transformers
|
|
325
|
+
Direct instrumentation of HuggingFace Transformers with automatic token counting and cost estimation.
|
|
326
|
+
|
|
327
|
+
<div align="center">
|
|
328
|
+
<img src=".github/images/Screenshots/Trace_HuggingFace_Transformer_Models.png" alt="HuggingFace Transformer Traces" width="900"/>
|
|
329
|
+
</div>
|
|
330
|
+
|
|
331
|
+
### SmolAgents Framework
|
|
332
|
+
Complete agent workflow tracing with tool calls, iterations, and cost breakdown.
|
|
333
|
+
|
|
334
|
+
<div align="center">
|
|
335
|
+
<img src=".github/images/Screenshots/Traces_SmolAgent_with_tool_calls.png" alt="SmolAgent Traces with Tool Calls" width="900"/>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
### GPU Metrics Collection
|
|
339
|
+
Real-time GPU utilization, memory, temperature, and power consumption metrics.
|
|
340
|
+
|
|
341
|
+
<div align="center">
|
|
342
|
+
<img src=".github/images/Screenshots/GPU_Metrics.png" alt="GPU Metrics Dashboard" width="900"/>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
345
|
+
### Additional Screenshots
|
|
346
|
+
|
|
347
|
+
- **[Token Cost Breakdown](.github/images/Screenshots/Traces_SmolAgent_Token_Cost_breakdown.png)** - Detailed token usage and cost analysis for SmolAgent workflows
|
|
348
|
+
- **[OpenSearch Dashboard](.github/images/Screenshots/GENAI_OpenSearch_output.png)** - GenAI metrics visualization in OpenSearch/Kibana
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Demo Video
|
|
353
|
+
|
|
354
|
+
Watch a comprehensive walkthrough of GenAI OpenTelemetry Auto-Instrumentation in action, demonstrating setup, configuration, and real-time observability across multiple LLM providers.
|
|
355
|
+
|
|
356
|
+
<div align="center">
|
|
357
|
+
|
|
358
|
+
**🎥 [Watch Demo Video](https://youtu.be/YOUR_VIDEO_ID_HERE)**
|
|
359
|
+
*(Coming Soon)*
|
|
360
|
+
|
|
361
|
+
</div>
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
292
365
|
## Cost Tracking Coverage
|
|
293
366
|
|
|
294
367
|
The library includes comprehensive cost tracking with pricing data for **145+ models** across **11 providers**:
|
|
@@ -840,38 +913,6 @@ genai_otel.instrument(
|
|
|
840
913
|
- `gen_ai.eval.bias_categories` - Detected bias types (array)
|
|
841
914
|
- `gen_ai.eval.toxicity_categories` - Toxicity categories (array)
|
|
842
915
|
|
|
843
|
-
#### 📊 Enhanced OpenTelemetry Compliance
|
|
844
|
-
|
|
845
|
-
Completing remaining items from [OTEL_SEMANTIC_GAP_ANALYSIS_AND_IMPLEMENTATION_PLAN.md](OTEL_SEMANTIC_GAP_ANALYSIS_AND_IMPLEMENTATION_PLAN.md):
|
|
846
|
-
|
|
847
|
-
**Phase 4: Optional Enhancements (✅ COMPLETED)**
|
|
848
|
-
|
|
849
|
-
All Phase 4 features are now available! See the [Advanced Features](#advanced-features) section for detailed documentation.
|
|
850
|
-
|
|
851
|
-
- ✅ **Session & User Tracking** - Track sessions and users across requests with custom extractor functions
|
|
852
|
-
- Configurable via `session_id_extractor` and `user_id_extractor` in `OTelConfig`
|
|
853
|
-
- Automatically adds `session.id` and `user.id` span attributes
|
|
854
|
-
- See [Session and User Tracking](#session-and-user-tracking) for usage examples
|
|
855
|
-
|
|
856
|
-
- ✅ **RAG/Embedding Attributes** - Enhanced observability for retrieval-augmented generation
|
|
857
|
-
- Helper methods: `add_embedding_attributes()` and `add_retrieval_attributes()`
|
|
858
|
-
- Embedding attributes: `embedding.model_name`, `embedding.text`, `embedding.vector.dimension`
|
|
859
|
-
- Retrieval attributes: `retrieval.query`, `retrieval.document_count`, `retrieval.documents.{i}.document.*`
|
|
860
|
-
- See [RAG and Embedding Attributes](#rag-and-embedding-attributes) for usage examples
|
|
861
|
-
- Complete example: `examples/phase4_session_rag_tracking.py`
|
|
862
|
-
|
|
863
|
-
**Note on Agent Workflow Tracking:**
|
|
864
|
-
|
|
865
|
-
Agent workflow observability is already provided by the OpenInference Smolagents instrumentor (included when `smolagents` is in `enabled_instrumentors`). This is not a new Phase 4 feature, but an existing capability:
|
|
866
|
-
|
|
867
|
-
- `openinference.span.kind: "AGENT"` - Identifies agent spans
|
|
868
|
-
- `agent.name` - Agent identifier (via OpenInference)
|
|
869
|
-
- `agent.iteration` - Current iteration number (via OpenInference)
|
|
870
|
-
- `agent.action` - Action taken (via OpenInference)
|
|
871
|
-
- `agent.observation` - Observation received (via OpenInference)
|
|
872
|
-
|
|
873
|
-
Agent tracking requires Python >= 3.10 and the `smolagents` library. See [OpenInference Integration](#openinference-optional---python-310-only) for details.
|
|
874
|
-
|
|
875
916
|
#### 🔄 Migration Support
|
|
876
917
|
|
|
877
918
|
**Backward Compatibility:**
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# GenAI OpenTelemetry Auto-Instrumentation
|
|
2
2
|
|
|
3
|
+
<div align="center">
|
|
4
|
+
<img src=".github/images/Logo.jpg" alt="GenAI OpenTelemetry Instrumentation Logo" width="400"/>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<br/>
|
|
8
|
+
|
|
3
9
|
[](https://badge.fury.io/py/genai-otel-instrument)
|
|
4
10
|
[](https://pypi.org/project/genai-otel-instrument/)
|
|
5
11
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
@@ -20,6 +26,14 @@
|
|
|
20
26
|
[](https://opentelemetry.io/docs/specs/semconv/gen-ai/)
|
|
21
27
|
[](https://github.com/Mandark-droid/genai_otel_instrument/actions)
|
|
22
28
|
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<div align="center">
|
|
32
|
+
<img src=".github/images/Landing_Page.jpg" alt="GenAI OpenTelemetry Instrumentation Overview" width="800"/>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
23
37
|
Production-ready OpenTelemetry instrumentation for GenAI/LLM applications with zero-code setup.
|
|
24
38
|
|
|
25
39
|
## Features
|
|
@@ -109,6 +123,65 @@ The processor supports OpenInference semantic conventions:
|
|
|
109
123
|
pip install genai-otel-instrument[openinference]
|
|
110
124
|
```
|
|
111
125
|
|
|
126
|
+
## Screenshots
|
|
127
|
+
|
|
128
|
+
See the instrumentation in action across different LLM providers and observability backends.
|
|
129
|
+
|
|
130
|
+
### OpenAI Instrumentation
|
|
131
|
+
Full trace capture for OpenAI API calls with token usage, costs, and latency metrics.
|
|
132
|
+
|
|
133
|
+
<div align="center">
|
|
134
|
+
<img src=".github/images/Screenshots/Traces_OpenAI.png" alt="OpenAI Traces" width="900"/>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
### Ollama (Local LLM) Instrumentation
|
|
138
|
+
Zero-code instrumentation for local models running on Ollama with comprehensive observability.
|
|
139
|
+
|
|
140
|
+
<div align="center">
|
|
141
|
+
<img src=".github/images/Screenshots/Traces_Ollama.png" alt="Ollama Traces" width="900"/>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
### HuggingFace Transformers
|
|
145
|
+
Direct instrumentation of HuggingFace Transformers with automatic token counting and cost estimation.
|
|
146
|
+
|
|
147
|
+
<div align="center">
|
|
148
|
+
<img src=".github/images/Screenshots/Trace_HuggingFace_Transformer_Models.png" alt="HuggingFace Transformer Traces" width="900"/>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
### SmolAgents Framework
|
|
152
|
+
Complete agent workflow tracing with tool calls, iterations, and cost breakdown.
|
|
153
|
+
|
|
154
|
+
<div align="center">
|
|
155
|
+
<img src=".github/images/Screenshots/Traces_SmolAgent_with_tool_calls.png" alt="SmolAgent Traces with Tool Calls" width="900"/>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
### GPU Metrics Collection
|
|
159
|
+
Real-time GPU utilization, memory, temperature, and power consumption metrics.
|
|
160
|
+
|
|
161
|
+
<div align="center">
|
|
162
|
+
<img src=".github/images/Screenshots/GPU_Metrics.png" alt="GPU Metrics Dashboard" width="900"/>
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
### Additional Screenshots
|
|
166
|
+
|
|
167
|
+
- **[Token Cost Breakdown](.github/images/Screenshots/Traces_SmolAgent_Token_Cost_breakdown.png)** - Detailed token usage and cost analysis for SmolAgent workflows
|
|
168
|
+
- **[OpenSearch Dashboard](.github/images/Screenshots/GENAI_OpenSearch_output.png)** - GenAI metrics visualization in OpenSearch/Kibana
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Demo Video
|
|
173
|
+
|
|
174
|
+
Watch a comprehensive walkthrough of GenAI OpenTelemetry Auto-Instrumentation in action, demonstrating setup, configuration, and real-time observability across multiple LLM providers.
|
|
175
|
+
|
|
176
|
+
<div align="center">
|
|
177
|
+
|
|
178
|
+
**🎥 [Watch Demo Video](https://youtu.be/YOUR_VIDEO_ID_HERE)**
|
|
179
|
+
*(Coming Soon)*
|
|
180
|
+
|
|
181
|
+
</div>
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
112
185
|
## Cost Tracking Coverage
|
|
113
186
|
|
|
114
187
|
The library includes comprehensive cost tracking with pricing data for **145+ models** across **11 providers**:
|
|
@@ -660,38 +733,6 @@ genai_otel.instrument(
|
|
|
660
733
|
- `gen_ai.eval.bias_categories` - Detected bias types (array)
|
|
661
734
|
- `gen_ai.eval.toxicity_categories` - Toxicity categories (array)
|
|
662
735
|
|
|
663
|
-
#### 📊 Enhanced OpenTelemetry Compliance
|
|
664
|
-
|
|
665
|
-
Completing remaining items from [OTEL_SEMANTIC_GAP_ANALYSIS_AND_IMPLEMENTATION_PLAN.md](OTEL_SEMANTIC_GAP_ANALYSIS_AND_IMPLEMENTATION_PLAN.md):
|
|
666
|
-
|
|
667
|
-
**Phase 4: Optional Enhancements (✅ COMPLETED)**
|
|
668
|
-
|
|
669
|
-
All Phase 4 features are now available! See the [Advanced Features](#advanced-features) section for detailed documentation.
|
|
670
|
-
|
|
671
|
-
- ✅ **Session & User Tracking** - Track sessions and users across requests with custom extractor functions
|
|
672
|
-
- Configurable via `session_id_extractor` and `user_id_extractor` in `OTelConfig`
|
|
673
|
-
- Automatically adds `session.id` and `user.id` span attributes
|
|
674
|
-
- See [Session and User Tracking](#session-and-user-tracking) for usage examples
|
|
675
|
-
|
|
676
|
-
- ✅ **RAG/Embedding Attributes** - Enhanced observability for retrieval-augmented generation
|
|
677
|
-
- Helper methods: `add_embedding_attributes()` and `add_retrieval_attributes()`
|
|
678
|
-
- Embedding attributes: `embedding.model_name`, `embedding.text`, `embedding.vector.dimension`
|
|
679
|
-
- Retrieval attributes: `retrieval.query`, `retrieval.document_count`, `retrieval.documents.{i}.document.*`
|
|
680
|
-
- See [RAG and Embedding Attributes](#rag-and-embedding-attributes) for usage examples
|
|
681
|
-
- Complete example: `examples/phase4_session_rag_tracking.py`
|
|
682
|
-
|
|
683
|
-
**Note on Agent Workflow Tracking:**
|
|
684
|
-
|
|
685
|
-
Agent workflow observability is already provided by the OpenInference Smolagents instrumentor (included when `smolagents` is in `enabled_instrumentors`). This is not a new Phase 4 feature, but an existing capability:
|
|
686
|
-
|
|
687
|
-
- `openinference.span.kind: "AGENT"` - Identifies agent spans
|
|
688
|
-
- `agent.name` - Agent identifier (via OpenInference)
|
|
689
|
-
- `agent.iteration` - Current iteration number (via OpenInference)
|
|
690
|
-
- `agent.action` - Action taken (via OpenInference)
|
|
691
|
-
- `agent.observation` - Observation received (via OpenInference)
|
|
692
|
-
|
|
693
|
-
Agent tracking requires Python >= 3.10 and the `smolagents` library. See [OpenInference Integration](#openinference-optional---python-310-only) for details.
|
|
694
|
-
|
|
695
736
|
#### 🔄 Migration Support
|
|
696
737
|
|
|
697
738
|
**Backward Compatibility:**
|
{genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/examples/anthropic/example.py
RENAMED
|
@@ -15,7 +15,7 @@ client = Anthropic()
|
|
|
15
15
|
|
|
16
16
|
# Make a simple message request
|
|
17
17
|
message = client.messages.create(
|
|
18
|
-
model="claude-
|
|
18
|
+
model="claude-haiku-4-5",
|
|
19
19
|
max_tokens=150,
|
|
20
20
|
messages=[{"role": "user", "content": "Explain OpenTelemetry in one sentence."}],
|
|
21
21
|
)
|
{genai_otel_instrument-0.1.9.dev0 → genai_otel_instrument-0.1.12.dev0}/genai_otel/__version__.py
RENAMED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.12.dev0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 12, 'dev0')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gf2822240c'
|