File tree Expand file tree Collapse file tree 3 files changed +35
-7
lines changed
instrumentation/opentelemetry-instrumentation-celery
src/opentelemetry/instrumentation/celery Expand file tree Collapse file tree 3 files changed +35
-7
lines changed Original file line number Diff line number Diff line change @@ -9,9 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
10
10
### Fixed
11
11
- ` opentelemetry-instrumentation-flask ` Add importlib metadata default for deprecation warning flask version
12
- ([ #2297 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2297 ) )
13
-
14
- ### Fixed
12
+ ([ #2302 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2302 ) )
13
+ - ` opentelemetry-instrumentation-celery ` Allow Celery instrumentation to be installed multiple times
14
+ ( [ # 2342 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342 ) )
15
15
- Align gRPC span status codes to OTEL specification ([ #1756 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756 ) )
16
16
17
17
## Version 1.23.0/0.44b0 (2024-02-23)
Original file line number Diff line number Diff line change @@ -113,10 +113,8 @@ def keys(self, carrier):
113
113
114
114
115
115
class CeleryInstrumentor (BaseInstrumentor ):
116
- def __init__ (self ):
117
- super ().__init__ ()
118
- self .metrics = None
119
- self .task_id_to_start_time = {}
116
+ metrics = None
117
+ task_id_to_start_time = {}
120
118
121
119
def instrumentation_dependencies (self ) -> Collection [str ]:
122
120
return _instruments
Original file line number Diff line number Diff line change
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
+ import unittest
16
+
17
+ from opentelemetry .instrumentation .celery import CeleryInstrumentor
18
+
19
+
20
+ class TestUtils (unittest .TestCase ):
21
+ def test_duplicate_instrumentaion (self ):
22
+ first = CeleryInstrumentor ()
23
+ first .instrument ()
24
+ second = CeleryInstrumentor ()
25
+ second .instrument ()
26
+ CeleryInstrumentor ().uninstrument ()
27
+ self .assertIsNotNone (first .metrics )
28
+ self .assertIsNotNone (second .metrics )
29
+ self .assertEqual (first .task_id_to_start_time , {})
30
+ self .assertEqual (second .task_id_to_start_time , {})
You can’t perform that action at this time.
0 commit comments