Skip to content

Commit ef18ed5

Browse files
authored
Merge branch 'main' into remoulade-snippet
2 parents c699ebe + ff18e7c commit ef18ed5

File tree

9 files changed

+119
-40
lines changed

9 files changed

+119
-40
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: OSSF Scorecard
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
schedule:
8+
- cron: "10 6 * * 1" # once a week
9+
workflow_dispatch:
10+
11+
permissions: read-all
12+
13+
jobs:
14+
analysis:
15+
runs-on: ubuntu-latest
16+
permissions:
17+
# Needed for Code scanning upload
18+
security-events: write
19+
# Needed for GitHub OIDC token if publish_results is true
20+
id-token: write
21+
steps:
22+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
23+
with:
24+
persist-credentials: false
25+
26+
- uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
27+
with:
28+
results_file: results.sarif
29+
results_format: sarif
30+
publish_results: true
31+
32+
# Upload the results as artifacts (optional). Commenting out will disable
33+
# uploads of run results in SARIF format to the repository Actions tab.
34+
# https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
35+
- name: "Upload artifact"
36+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
37+
with:
38+
name: SARIF file
39+
path: results.sarif
40+
retention-days: 5
41+
42+
# Upload the results to GitHub's code scanning dashboard (optional).
43+
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
44+
- name: "Upload to code-scanning"
45+
uses: github/codeql-action/upload-sarif@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12
46+
with:
47+
sarif_file: results.sarif

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2525
- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-django`,
2626
`opentelemetry-instrumentation-sqlalchemy`: Fix sqlcomment for non string query and composable object.
2727
([#3113](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3113))
28+
- `opentelemetry-instrumentation-grpc` Fix error when using gprc versions <= 1.50.0 with unix sockets.
29+
([[#3393](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3393)])
2830

2931
## Version 1.31.0/0.52b0 (2025-03-12)
3032

instrumentation-genai/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
| Instrumentation | Supported Packages | Metrics support | Semconv status |
3+
| --------------- | ------------------ | --------------- | -------------- |
4+
| [opentelemetry-instrumentation-google-genai](./opentelemetry-instrumentation-google-genai) | google-genai >= 1.0.0 | No | development
5+
| [opentelemetry-instrumentation-openai-v2](./opentelemetry-instrumentation-openai-v2) | openai >= 1.26.0 | Yes | development
6+
| [opentelemetry-instrumentation-vertexai](./opentelemetry-instrumentation-vertexai) | google-cloud-aiplatform >= 1.64 | No | development
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright The OpenTelemetry Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
_instruments = ("google-genai >= 1.0.0",)

instrumentation-genai/opentelemetry-instrumentation-openai-v2/src/opentelemetry/instrumentation/openai_v2/package.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@
1414

1515

1616
_instruments = ("openai >= 1.26.0",)
17+
18+
_supports_metrics = True

instrumentation/opentelemetry-instrumentation-botocore/README.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,44 @@ OpenTelemetry Botocore Tracing
88

99
This library allows tracing requests made by the Botocore library.
1010

11+
Extensions
12+
----------
13+
14+
The instrumentation supports creating extensions for AWS services for enriching what is collected. We have extensions
15+
for the following AWS services:
16+
17+
- Bedrock Runtime
18+
- DynamoDB
19+
- Lambda
20+
- SNS
21+
- SQS
22+
23+
Bedrock Runtime
24+
***************
25+
26+
This extension implements the GenAI semantic conventions for the following API calls:
27+
28+
- Converse
29+
- ConverseStream
30+
- InvokeModel
31+
- InvokeModelWithResponseStream
32+
33+
For the Converse and ConverseStream APIs tracing, events and metrics are implemented.
34+
35+
For the InvokeModel and InvokeModelWithResponseStream APIs tracing, events and metrics implemented only for a subset of
36+
the available models, namely:
37+
38+
- Amazon Titan models
39+
- Amazon Nova models
40+
- Anthropic Claude
41+
42+
Tool calls with InvokeModel and InvokeModelWithResponseStream APIs are supported with:
43+
44+
- Amazon Nova models
45+
- Anthropic Claude 3+
46+
47+
If you don't have an application using Bedrock APIs yet, try our `zero-code examples <examples/bedrock-runtime/zero-code>`_.
48+
1149
Installation
1250
------------
1351

instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/__init__.py

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -78,40 +78,6 @@ def response_hook(span, service_name, operation_name, result):
7878
)
7979
ec2 = session.create_client("ec2", region_name="us-west-2")
8080
ec2.describe_instances()
81-
82-
Extensions
83-
----------
84-
85-
The instrumentation supports creating extensions for AWS services for enriching what is collected. We have extensions
86-
for the following AWS services:
87-
88-
- Bedrock Runtime
89-
- DynamoDB
90-
- Lambda
91-
- SNS
92-
- SQS
93-
94-
Bedrock Runtime
95-
***************
96-
97-
This extension implements the GenAI semantic conventions for the following API calls:
98-
99-
- Converse
100-
- ConverseStream
101-
- InvokeModel
102-
- InvokeModelWithResponseStream
103-
104-
For the Converse and ConverseStream APIs tracing, events and metrics are implemented.
105-
106-
For the InvokeModel and InvokeModelWithResponseStream APIs tracing, events and metrics implemented only for a subset of
107-
the available models, namely:
108-
- Amazon Titan models
109-
- Amazon Nova models
110-
- Anthropic Claude
111-
112-
Tool calls with InvokeModel and InvokeModelWithResponseStream APIs are supported with:
113-
- Amazon Nova models
114-
- Anthropic Claude 3+
11581
"""
11682

11783
import logging

instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def _start_span(
239239
# * ipv4:127.0.0.1:57284
240240
# * ipv4:10.2.1.1:57284,127.0.0.1:57284
241241
#
242-
if context.peer() != "unix:":
242+
if not context.peer().startswith("unix:"):
243243
try:
244244
ip, port = (
245245
context.peer()

scripts/generate_instrumentation_readme.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@
2727
| --------------- | ------------------ | --------------- | -------------- |"""
2828

2929

30-
def main():
31-
root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
32-
base_instrumentation_path = os.path.join(root_path, "instrumentation")
33-
30+
def main(base_instrumentation_path):
3431
table = [header]
3532
for instrumentation in sorted(os.listdir(base_instrumentation_path)):
3633
instrumentation_path = os.path.join(
@@ -85,4 +82,10 @@ def main():
8582

8683

8784
if __name__ == "__main__":
88-
main()
85+
root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
86+
instrumentation_path = os.path.join(root_path, "instrumentation")
87+
main(instrumentation_path)
88+
genai_instrumentation_path = os.path.join(
89+
root_path, "instrumentation-genai"
90+
)
91+
main(genai_instrumentation_path)

0 commit comments

Comments
 (0)