Skip to content

Commit 802fd08

Browse files
fix(runtime metrics): Fix manually starting runtime metrics (#2564) (#2621)
* fix(runtime metrics): Fix manually starting runtime metrics * Add release note * fix release note Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 8e1de83) Co-authored-by: Brett Langdon <[email protected]>
1 parent c0f8bf5 commit 802fd08

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

ddtrace/runtime/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Optional
22

3-
import ddtrace
3+
import ddtrace.internal.runtime.runtime_metrics
44

55

66
class RuntimeMetrics(object):
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
fixes:
3+
- |
4+
Fixes an issue when trying to manually start the runtime metrics worker::
5+
6+
AttributeError: module 'ddtrace.internal.runtime' has no attribute 'runtime_metrics'

tests/runtime/test_runtime_metrics_api.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,24 @@ def test_runtime_metrics_api_idempotency():
2222
RuntimeMetrics.disable()
2323
assert RuntimeWorker._instance is None
2424
RuntimeMetrics.disable()
25+
26+
27+
def test_manually_start_runtime_metrics(run_python_code_in_subprocess):
28+
"""
29+
When importing and manually starting runtime metrics
30+
There are no errors
31+
"""
32+
out, err, status, pid = run_python_code_in_subprocess(
33+
"""
34+
from ddtrace.runtime import RuntimeMetrics
35+
RuntimeMetrics.enable()
36+
37+
from ddtrace.internal.runtime.runtime_metrics import RuntimeWorker
38+
assert RuntimeWorker._instance is not None
39+
40+
RuntimeMetrics.disable()
41+
assert RuntimeWorker._instance is None
42+
""",
43+
)
44+
45+
assert status == 0

0 commit comments

Comments
 (0)