golf-mcp 0.2.2__py3-none-any.whl → 0.2.4__py3-none-any.whl
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 golf-mcp might be problematic. Click here for more details.
- golf/__init__.py +1 -1
- golf/_endpoints.py.in +6 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/METADATA +1 -1
- golf_mcp-0.2.4.dist-info/RECORD +56 -0
- golf/examples/__pycache__/__init__.cpython-311.pyc +0 -0
- golf/examples/basic/.coverage +0 -0
- golf/examples/basic/__pycache__/auth.cpython-311.pyc +0 -0
- golf/examples/basic/htmlcov/.gitignore +0 -2
- golf/examples/basic/htmlcov/class_index.html +0 -547
- golf/examples/basic/htmlcov/coverage_html_cb_6fb7b396.js +0 -733
- golf/examples/basic/htmlcov/favicon_32_cb_58284776.png +0 -0
- golf/examples/basic/htmlcov/function_index.html +0 -2091
- golf/examples/basic/htmlcov/index.html +0 -349
- golf/examples/basic/htmlcov/keybd_closed_cb_ce680311.png +0 -0
- golf/examples/basic/htmlcov/status.json +0 -1
- golf/examples/basic/htmlcov/style_cb_8e611ae1.css +0 -337
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496___init___py.html +0 -323
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_api_key_py.html +0 -170
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_factory_py.html +0 -430
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_helpers_py.html +0 -288
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_providers_py.html +0 -493
- golf/examples/basic/htmlcov/z_1c9a91c0e91c8496_registry_py.html +0 -353
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950___init___py.html +0 -120
- golf/examples/basic/htmlcov/z_3ec3b3f490dc0950_instrumentation_py.html +0 -1535
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db___init___py.html +0 -98
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_branding_py.html +0 -289
- golf/examples/basic/htmlcov/z_4b8b9dd4ccccc5db_main_py.html +0 -476
- golf/examples/basic/htmlcov/z_5a6c4e6bcc86fb2f___init___py.html +0 -97
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d___init___py.html +0 -102
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_build_py.html +0 -178
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_init_py.html +0 -387
- golf/examples/basic/htmlcov/z_6cadab9ec0df475d_run_py.html +0 -222
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4___init___py.html +0 -106
- golf/examples/basic/htmlcov/z_6fcdee0582ba84e4__endpoints_fallback_py.html +0 -107
- golf/examples/basic/htmlcov/z_7ba499ed22986217___init___py.html +0 -98
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_auth_py.html +0 -306
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_metrics_py.html +0 -329
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_py.html +0 -1471
- golf/examples/basic/htmlcov/z_7ba499ed22986217_builder_telemetry_py.html +0 -186
- golf/examples/basic/htmlcov/z_7ba499ed22986217_config_py.html +0 -315
- golf/examples/basic/htmlcov/z_7ba499ed22986217_parser_py.html +0 -1149
- golf/examples/basic/htmlcov/z_7ba499ed22986217_platform_py.html +0 -279
- golf/examples/basic/htmlcov/z_7ba499ed22986217_telemetry_py.html +0 -589
- golf/examples/basic/htmlcov/z_7ba499ed22986217_transformer_py.html +0 -286
- golf/examples/basic/htmlcov/z_7d7da37693a43688___init___py.html +0 -107
- golf/examples/basic/htmlcov/z_7d7da37693a43688_collector_py.html +0 -417
- golf/examples/basic/htmlcov/z_7d7da37693a43688_registry_py.html +0 -109
- golf/examples/basic/htmlcov/z_abe733142b40ad4e___init___py.html +0 -109
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_context_py.html +0 -150
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_elicitation_py.html +0 -267
- golf/examples/basic/htmlcov/z_abe733142b40ad4e_sampling_py.html +0 -318
- golf/examples/basic/prompts/__pycache__/welcome.cpython-311.pyc +0 -0
- golf/examples/basic/resources/__pycache__/current_time.cpython-311.pyc +0 -0
- golf/examples/basic/resources/__pycache__/info.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/common.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/current.cpython-311.pyc +0 -0
- golf/examples/basic/resources/weather/__pycache__/forecast.cpython-311.pyc +0 -0
- golf/examples/basic/tools/__pycache__/calculator.cpython-311.pyc +0 -0
- golf/examples/basic/tools/say/__pycache__/hello.cpython-311.pyc +0 -0
- golf_mcp-0.2.2.dist-info/RECORD +0 -110
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/WHEEL +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/entry_points.txt +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/licenses/LICENSE +0 -0
- {golf_mcp-0.2.2.dist-info → golf_mcp-0.2.4.dist-info}/top_level.txt +0 -0
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
5
|
-
<title>Coverage for /Users/antonigmitruk/golf/src/golf/metrics/collector.py: 0%</title>
|
|
6
|
-
<link rel="icon" sizes="32x32" href="favicon_32_cb_58284776.png">
|
|
7
|
-
<link rel="stylesheet" href="style_cb_8e611ae1.css" type="text/css">
|
|
8
|
-
<script src="coverage_html_cb_6fb7b396.js" defer></script>
|
|
9
|
-
</head>
|
|
10
|
-
<body class="pyfile">
|
|
11
|
-
<header>
|
|
12
|
-
<div class="content">
|
|
13
|
-
<h1>
|
|
14
|
-
<span class="text">Coverage for </span><b>/Users/antonigmitruk/golf/src/golf/metrics/collector.py</b>:
|
|
15
|
-
<span class="pc_cov">0%</span>
|
|
16
|
-
</h1>
|
|
17
|
-
<aside id="help_panel_wrapper">
|
|
18
|
-
<input id="help_panel_state" type="checkbox">
|
|
19
|
-
<label for="help_panel_state">
|
|
20
|
-
<img id="keyboard_icon" src="keybd_closed_cb_ce680311.png" alt="Show/hide keyboard shortcuts">
|
|
21
|
-
</label>
|
|
22
|
-
<div id="help_panel">
|
|
23
|
-
<p class="legend">Shortcuts on this page</p>
|
|
24
|
-
<div class="keyhelp">
|
|
25
|
-
<p>
|
|
26
|
-
<kbd>r</kbd>
|
|
27
|
-
<kbd>m</kbd>
|
|
28
|
-
<kbd>x</kbd>
|
|
29
|
-
toggle line displays
|
|
30
|
-
</p>
|
|
31
|
-
<p>
|
|
32
|
-
<kbd>j</kbd>
|
|
33
|
-
<kbd>k</kbd>
|
|
34
|
-
next/prev highlighted chunk
|
|
35
|
-
</p>
|
|
36
|
-
<p>
|
|
37
|
-
<kbd>0</kbd> (zero) top of page
|
|
38
|
-
</p>
|
|
39
|
-
<p>
|
|
40
|
-
<kbd>1</kbd> (one) first highlighted chunk
|
|
41
|
-
</p>
|
|
42
|
-
<p>
|
|
43
|
-
<kbd>[</kbd>
|
|
44
|
-
<kbd>]</kbd>
|
|
45
|
-
prev/next file
|
|
46
|
-
</p>
|
|
47
|
-
<p>
|
|
48
|
-
<kbd>u</kbd> up to the index
|
|
49
|
-
</p>
|
|
50
|
-
<p>
|
|
51
|
-
<kbd>?</kbd> show/hide this help
|
|
52
|
-
</p>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</aside>
|
|
56
|
-
<h2>
|
|
57
|
-
<span class="text">95 statements </span>
|
|
58
|
-
<button type="button" class="run button_toggle_run" value="run" data-shortcut="r" title="Toggle lines run">0<span class="text"> run</span></button>
|
|
59
|
-
<button type="button" class="mis show_mis button_toggle_mis" value="mis" data-shortcut="m" title="Toggle lines missing">95<span class="text"> missing</span></button>
|
|
60
|
-
<button type="button" class="exc show_exc button_toggle_exc" value="exc" data-shortcut="x" title="Toggle lines excluded">0<span class="text"> excluded</span></button>
|
|
61
|
-
</h2>
|
|
62
|
-
<p class="text">
|
|
63
|
-
<a id="prevFileLink" class="nav" href="z_7d7da37693a43688___init___py.html">« prev</a>
|
|
64
|
-
<a id="indexLink" class="nav" href="index.html">^ index</a>
|
|
65
|
-
<a id="nextFileLink" class="nav" href="z_7d7da37693a43688_registry_py.html">» next</a>
|
|
66
|
-
|
|
67
|
-
<a class="nav" href="https://coverage.readthedocs.io/en/7.6.12">coverage.py v7.6.12</a>,
|
|
68
|
-
created at 2025-08-16 18:46 +0200
|
|
69
|
-
</p>
|
|
70
|
-
<aside class="hidden">
|
|
71
|
-
<button type="button" class="button_next_chunk" data-shortcut="j"></button>
|
|
72
|
-
<button type="button" class="button_prev_chunk" data-shortcut="k"></button>
|
|
73
|
-
<button type="button" class="button_top_of_page" data-shortcut="0"></button>
|
|
74
|
-
<button type="button" class="button_first_chunk" data-shortcut="1"></button>
|
|
75
|
-
<button type="button" class="button_prev_file" data-shortcut="["></button>
|
|
76
|
-
<button type="button" class="button_next_file" data-shortcut="]"></button>
|
|
77
|
-
<button type="button" class="button_to_index" data-shortcut="u"></button>
|
|
78
|
-
<button type="button" class="button_show_hide_help" data-shortcut="?"></button>
|
|
79
|
-
</aside>
|
|
80
|
-
</div>
|
|
81
|
-
</header>
|
|
82
|
-
<main id="source">
|
|
83
|
-
<p class="pln"><span class="n"><a id="t1" href="#t1">1</a></span><span class="t"><span class="str">"""Metrics collector for Golf MCP servers."""</span> </span><span class="r"></span></p>
|
|
84
|
-
<p class="pln"><span class="n"><a id="t2" href="#t2">2</a></span><span class="t"> </span><span class="r"></span></p>
|
|
85
|
-
<p class="mis show_mis"><span class="n"><a id="t3" href="#t3">3</a></span><span class="t"><span class="key">from</span> <span class="nam">typing</span> <span class="key">import</span> <span class="nam">Optional</span> </span><span class="r"></span></p>
|
|
86
|
-
<p class="pln"><span class="n"><a id="t4" href="#t4">4</a></span><span class="t"> </span><span class="r"></span></p>
|
|
87
|
-
<p class="pln"><span class="n"><a id="t5" href="#t5">5</a></span><span class="t"><span class="com"># Global metrics collector instance</span> </span><span class="r"></span></p>
|
|
88
|
-
<p class="mis show_mis"><span class="n"><a id="t6" href="#t6">6</a></span><span class="t"><span class="nam">_metrics_collector</span><span class="op">:</span> <span class="nam">Optional</span><span class="op">[</span><span class="str">"MetricsCollector"</span><span class="op">]</span> <span class="op">=</span> <span class="key">None</span> </span><span class="r"></span></p>
|
|
89
|
-
<p class="pln"><span class="n"><a id="t7" href="#t7">7</a></span><span class="t"> </span><span class="r"></span></p>
|
|
90
|
-
<p class="pln"><span class="n"><a id="t8" href="#t8">8</a></span><span class="t"> </span><span class="r"></span></p>
|
|
91
|
-
<p class="mis show_mis"><span class="n"><a id="t9" href="#t9">9</a></span><span class="t"><span class="key">class</span> <span class="nam">MetricsCollector</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
92
|
-
<p class="pln"><span class="n"><a id="t10" href="#t10">10</a></span><span class="t"> <span class="str">"""Collects metrics for Golf MCP servers using Prometheus client."""</span> </span><span class="r"></span></p>
|
|
93
|
-
<p class="pln"><span class="n"><a id="t11" href="#t11">11</a></span><span class="t"> </span><span class="r"></span></p>
|
|
94
|
-
<p class="mis show_mis"><span class="n"><a id="t12" href="#t12">12</a></span><span class="t"> <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">enabled</span><span class="op">:</span> <span class="nam">bool</span> <span class="op">=</span> <span class="key">False</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
95
|
-
<p class="pln"><span class="n"><a id="t13" href="#t13">13</a></span><span class="t"> <span class="str">"""Initialize the metrics collector.</span> </span><span class="r"></span></p>
|
|
96
|
-
<p class="pln"><span class="n"><a id="t14" href="#t14">14</a></span><span class="t"> </span><span class="r"></span></p>
|
|
97
|
-
<p class="pln"><span class="n"><a id="t15" href="#t15">15</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
98
|
-
<p class="pln"><span class="n"><a id="t16" href="#t16">16</a></span><span class="t"><span class="str"> enabled: Whether metrics collection is enabled</span> </span><span class="r"></span></p>
|
|
99
|
-
<p class="pln"><span class="n"><a id="t17" href="#t17">17</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
100
|
-
<p class="mis show_mis"><span class="n"><a id="t18" href="#t18">18</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="op">=</span> <span class="nam">enabled</span> </span><span class="r"></span></p>
|
|
101
|
-
<p class="mis show_mis"><span class="n"><a id="t19" href="#t19">19</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span> </span><span class="r"></span></p>
|
|
102
|
-
<p class="pln"><span class="n"><a id="t20" href="#t20">20</a></span><span class="t"> </span><span class="r"></span></p>
|
|
103
|
-
<p class="mis show_mis"><span class="n"><a id="t21" href="#t21">21</a></span><span class="t"> <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
104
|
-
<p class="mis show_mis"><span class="n"><a id="t22" href="#t22">22</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_init_prometheus_metrics</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
105
|
-
<p class="pln"><span class="n"><a id="t23" href="#t23">23</a></span><span class="t"> </span><span class="r"></span></p>
|
|
106
|
-
<p class="mis show_mis"><span class="n"><a id="t24" href="#t24">24</a></span><span class="t"> <span class="key">def</span> <span class="nam">_init_prometheus_metrics</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
107
|
-
<p class="pln"><span class="n"><a id="t25" href="#t25">25</a></span><span class="t"> <span class="str">"""Initialize Prometheus metrics if enabled."""</span> </span><span class="r"></span></p>
|
|
108
|
-
<p class="mis show_mis"><span class="n"><a id="t26" href="#t26">26</a></span><span class="t"> <span class="key">try</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
109
|
-
<p class="mis show_mis"><span class="n"><a id="t27" href="#t27">27</a></span><span class="t"> <span class="key">from</span> <span class="nam">prometheus_client</span> <span class="key">import</span> <span class="nam">Counter</span><span class="op">,</span> <span class="nam">Histogram</span><span class="op">,</span> <span class="nam">Gauge</span> </span><span class="r"></span></p>
|
|
110
|
-
<p class="pln"><span class="n"><a id="t28" href="#t28">28</a></span><span class="t"> </span><span class="r"></span></p>
|
|
111
|
-
<p class="pln"><span class="n"><a id="t29" href="#t29">29</a></span><span class="t"> <span class="com"># Tool execution metrics</span> </span><span class="r"></span></p>
|
|
112
|
-
<p class="mis show_mis"><span class="n"><a id="t30" href="#t30">30</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"tool_executions"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
113
|
-
<p class="pln"><span class="n"><a id="t31" href="#t31">31</a></span><span class="t"> <span class="str">"golf_tool_executions_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
114
|
-
<p class="pln"><span class="n"><a id="t32" href="#t32">32</a></span><span class="t"> <span class="str">"Total number of tool executions"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
115
|
-
<p class="pln"><span class="n"><a id="t33" href="#t33">33</a></span><span class="t"> <span class="op">[</span><span class="str">"tool_name"</span><span class="op">,</span> <span class="str">"status"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
116
|
-
<p class="pln"><span class="n"><a id="t34" href="#t34">34</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
117
|
-
<p class="pln"><span class="n"><a id="t35" href="#t35">35</a></span><span class="t"> </span><span class="r"></span></p>
|
|
118
|
-
<p class="mis show_mis"><span class="n"><a id="t36" href="#t36">36</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"tool_duration"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
119
|
-
<p class="pln"><span class="n"><a id="t37" href="#t37">37</a></span><span class="t"> <span class="str">"golf_tool_duration_seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
120
|
-
<p class="pln"><span class="n"><a id="t38" href="#t38">38</a></span><span class="t"> <span class="str">"Tool execution duration in seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
121
|
-
<p class="pln"><span class="n"><a id="t39" href="#t39">39</a></span><span class="t"> <span class="op">[</span><span class="str">"tool_name"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
122
|
-
<p class="pln"><span class="n"><a id="t40" href="#t40">40</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
123
|
-
<p class="pln"><span class="n"><a id="t41" href="#t41">41</a></span><span class="t"> </span><span class="r"></span></p>
|
|
124
|
-
<p class="pln"><span class="n"><a id="t42" href="#t42">42</a></span><span class="t"> <span class="com"># HTTP request metrics</span> </span><span class="r"></span></p>
|
|
125
|
-
<p class="mis show_mis"><span class="n"><a id="t43" href="#t43">43</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"http_requests"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
126
|
-
<p class="pln"><span class="n"><a id="t44" href="#t44">44</a></span><span class="t"> <span class="str">"golf_http_requests_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
127
|
-
<p class="pln"><span class="n"><a id="t45" href="#t45">45</a></span><span class="t"> <span class="str">"Total number of HTTP requests"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
128
|
-
<p class="pln"><span class="n"><a id="t46" href="#t46">46</a></span><span class="t"> <span class="op">[</span><span class="str">"method"</span><span class="op">,</span> <span class="str">"status_code"</span><span class="op">,</span> <span class="str">"path"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
129
|
-
<p class="pln"><span class="n"><a id="t47" href="#t47">47</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
130
|
-
<p class="pln"><span class="n"><a id="t48" href="#t48">48</a></span><span class="t"> </span><span class="r"></span></p>
|
|
131
|
-
<p class="mis show_mis"><span class="n"><a id="t49" href="#t49">49</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"http_duration"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
132
|
-
<p class="pln"><span class="n"><a id="t50" href="#t50">50</a></span><span class="t"> <span class="str">"golf_http_request_duration_seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
133
|
-
<p class="pln"><span class="n"><a id="t51" href="#t51">51</a></span><span class="t"> <span class="str">"HTTP request duration in seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
134
|
-
<p class="pln"><span class="n"><a id="t52" href="#t52">52</a></span><span class="t"> <span class="op">[</span><span class="str">"method"</span><span class="op">,</span> <span class="str">"path"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
135
|
-
<p class="pln"><span class="n"><a id="t53" href="#t53">53</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
136
|
-
<p class="pln"><span class="n"><a id="t54" href="#t54">54</a></span><span class="t"> </span><span class="r"></span></p>
|
|
137
|
-
<p class="pln"><span class="n"><a id="t55" href="#t55">55</a></span><span class="t"> <span class="com"># Resource access metrics</span> </span><span class="r"></span></p>
|
|
138
|
-
<p class="mis show_mis"><span class="n"><a id="t56" href="#t56">56</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"resource_reads"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
139
|
-
<p class="pln"><span class="n"><a id="t57" href="#t57">57</a></span><span class="t"> <span class="str">"golf_resource_reads_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
140
|
-
<p class="pln"><span class="n"><a id="t58" href="#t58">58</a></span><span class="t"> <span class="str">"Total number of resource reads"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
141
|
-
<p class="pln"><span class="n"><a id="t59" href="#t59">59</a></span><span class="t"> <span class="op">[</span><span class="str">"resource_uri"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
142
|
-
<p class="pln"><span class="n"><a id="t60" href="#t60">60</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
143
|
-
<p class="pln"><span class="n"><a id="t61" href="#t61">61</a></span><span class="t"> </span><span class="r"></span></p>
|
|
144
|
-
<p class="pln"><span class="n"><a id="t62" href="#t62">62</a></span><span class="t"> <span class="com"># Prompt generation metrics</span> </span><span class="r"></span></p>
|
|
145
|
-
<p class="mis show_mis"><span class="n"><a id="t63" href="#t63">63</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"prompt_generations"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
146
|
-
<p class="pln"><span class="n"><a id="t64" href="#t64">64</a></span><span class="t"> <span class="str">"golf_prompt_generations_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
147
|
-
<p class="pln"><span class="n"><a id="t65" href="#t65">65</a></span><span class="t"> <span class="str">"Total number of prompt generations"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
148
|
-
<p class="pln"><span class="n"><a id="t66" href="#t66">66</a></span><span class="t"> <span class="op">[</span><span class="str">"prompt_name"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
149
|
-
<p class="pln"><span class="n"><a id="t67" href="#t67">67</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
150
|
-
<p class="pln"><span class="n"><a id="t68" href="#t68">68</a></span><span class="t"> </span><span class="r"></span></p>
|
|
151
|
-
<p class="pln"><span class="n"><a id="t69" href="#t69">69</a></span><span class="t"> <span class="com"># Sampling metrics</span> </span><span class="r"></span></p>
|
|
152
|
-
<p class="mis show_mis"><span class="n"><a id="t70" href="#t70">70</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_requests"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
153
|
-
<p class="pln"><span class="n"><a id="t71" href="#t71">71</a></span><span class="t"> <span class="str">"golf_sampling_requests_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
154
|
-
<p class="pln"><span class="n"><a id="t72" href="#t72">72</a></span><span class="t"> <span class="str">"Total number of sampling requests"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
155
|
-
<p class="pln"><span class="n"><a id="t73" href="#t73">73</a></span><span class="t"> <span class="op">[</span><span class="str">"sampling_type"</span><span class="op">,</span> <span class="str">"status"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
156
|
-
<p class="pln"><span class="n"><a id="t74" href="#t74">74</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
157
|
-
<p class="pln"><span class="n"><a id="t75" href="#t75">75</a></span><span class="t"> </span><span class="r"></span></p>
|
|
158
|
-
<p class="mis show_mis"><span class="n"><a id="t76" href="#t76">76</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_duration"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
159
|
-
<p class="pln"><span class="n"><a id="t77" href="#t77">77</a></span><span class="t"> <span class="str">"golf_sampling_duration_seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
160
|
-
<p class="pln"><span class="n"><a id="t78" href="#t78">78</a></span><span class="t"> <span class="str">"Sampling request duration in seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
161
|
-
<p class="pln"><span class="n"><a id="t79" href="#t79">79</a></span><span class="t"> <span class="op">[</span><span class="str">"sampling_type"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
162
|
-
<p class="pln"><span class="n"><a id="t80" href="#t80">80</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
163
|
-
<p class="pln"><span class="n"><a id="t81" href="#t81">81</a></span><span class="t"> </span><span class="r"></span></p>
|
|
164
|
-
<p class="mis show_mis"><span class="n"><a id="t82" href="#t82">82</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_tokens"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
165
|
-
<p class="pln"><span class="n"><a id="t83" href="#t83">83</a></span><span class="t"> <span class="str">"golf_sampling_tokens"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
166
|
-
<p class="pln"><span class="n"><a id="t84" href="#t84">84</a></span><span class="t"> <span class="str">"Number of tokens in sampling responses"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
167
|
-
<p class="pln"><span class="n"><a id="t85" href="#t85">85</a></span><span class="t"> <span class="op">[</span><span class="str">"sampling_type"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
168
|
-
<p class="pln"><span class="n"><a id="t86" href="#t86">86</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
169
|
-
<p class="pln"><span class="n"><a id="t87" href="#t87">87</a></span><span class="t"> </span><span class="r"></span></p>
|
|
170
|
-
<p class="pln"><span class="n"><a id="t88" href="#t88">88</a></span><span class="t"> <span class="com"># Elicitation metrics</span> </span><span class="r"></span></p>
|
|
171
|
-
<p class="mis show_mis"><span class="n"><a id="t89" href="#t89">89</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"elicitation_requests"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
172
|
-
<p class="pln"><span class="n"><a id="t90" href="#t90">90</a></span><span class="t"> <span class="str">"golf_elicitation_requests_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
173
|
-
<p class="pln"><span class="n"><a id="t91" href="#t91">91</a></span><span class="t"> <span class="str">"Total number of elicitation requests"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
174
|
-
<p class="pln"><span class="n"><a id="t92" href="#t92">92</a></span><span class="t"> <span class="op">[</span><span class="str">"elicitation_type"</span><span class="op">,</span> <span class="str">"status"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
175
|
-
<p class="pln"><span class="n"><a id="t93" href="#t93">93</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
176
|
-
<p class="pln"><span class="n"><a id="t94" href="#t94">94</a></span><span class="t"> </span><span class="r"></span></p>
|
|
177
|
-
<p class="mis show_mis"><span class="n"><a id="t95" href="#t95">95</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"elicitation_duration"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
178
|
-
<p class="pln"><span class="n"><a id="t96" href="#t96">96</a></span><span class="t"> <span class="str">"golf_elicitation_duration_seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
179
|
-
<p class="pln"><span class="n"><a id="t97" href="#t97">97</a></span><span class="t"> <span class="str">"Elicitation request duration in seconds"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
180
|
-
<p class="pln"><span class="n"><a id="t98" href="#t98">98</a></span><span class="t"> <span class="op">[</span><span class="str">"elicitation_type"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
181
|
-
<p class="pln"><span class="n"><a id="t99" href="#t99">99</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
182
|
-
<p class="pln"><span class="n"><a id="t100" href="#t100">100</a></span><span class="t"> </span><span class="r"></span></p>
|
|
183
|
-
<p class="pln"><span class="n"><a id="t101" href="#t101">101</a></span><span class="t"> <span class="com"># Error metrics</span> </span><span class="r"></span></p>
|
|
184
|
-
<p class="mis show_mis"><span class="n"><a id="t102" href="#t102">102</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"errors"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
185
|
-
<p class="pln"><span class="n"><a id="t103" href="#t103">103</a></span><span class="t"> <span class="str">"golf_errors_total"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
186
|
-
<p class="pln"><span class="n"><a id="t104" href="#t104">104</a></span><span class="t"> <span class="str">"Total number of errors"</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
187
|
-
<p class="pln"><span class="n"><a id="t105" href="#t105">105</a></span><span class="t"> <span class="op">[</span><span class="str">"component_type"</span><span class="op">,</span> <span class="str">"error_type"</span><span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
188
|
-
<p class="pln"><span class="n"><a id="t106" href="#t106">106</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
189
|
-
<p class="pln"><span class="n"><a id="t107" href="#t107">107</a></span><span class="t"> </span><span class="r"></span></p>
|
|
190
|
-
<p class="pln"><span class="n"><a id="t108" href="#t108">108</a></span><span class="t"> <span class="com"># Session metrics</span> </span><span class="r"></span></p>
|
|
191
|
-
<p class="mis show_mis"><span class="n"><a id="t109" href="#t109">109</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sessions_total"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Counter</span><span class="op">(</span><span class="str">"golf_sessions_total"</span><span class="op">,</span> <span class="str">"Total number of sessions created"</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
192
|
-
<p class="pln"><span class="n"><a id="t110" href="#t110">110</a></span><span class="t"> </span><span class="r"></span></p>
|
|
193
|
-
<p class="mis show_mis"><span class="n"><a id="t111" href="#t111">111</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"session_duration"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Histogram</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
194
|
-
<p class="pln"><span class="n"><a id="t112" href="#t112">112</a></span><span class="t"> <span class="str">"golf_session_duration_seconds"</span><span class="op">,</span> <span class="str">"Session duration in seconds"</span> </span><span class="r"></span></p>
|
|
195
|
-
<p class="pln"><span class="n"><a id="t113" href="#t113">113</a></span><span class="t"> <span class="op">)</span> </span><span class="r"></span></p>
|
|
196
|
-
<p class="pln"><span class="n"><a id="t114" href="#t114">114</a></span><span class="t"> </span><span class="r"></span></p>
|
|
197
|
-
<p class="pln"><span class="n"><a id="t115" href="#t115">115</a></span><span class="t"> <span class="com"># System metrics</span> </span><span class="r"></span></p>
|
|
198
|
-
<p class="mis show_mis"><span class="n"><a id="t116" href="#t116">116</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"uptime"</span><span class="op">]</span> <span class="op">=</span> <span class="nam">Gauge</span><span class="op">(</span><span class="str">"golf_uptime_seconds"</span><span class="op">,</span> <span class="str">"Server uptime in seconds"</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
199
|
-
<p class="pln"><span class="n"><a id="t117" href="#t117">117</a></span><span class="t"> </span><span class="r"></span></p>
|
|
200
|
-
<p class="mis show_mis"><span class="n"><a id="t118" href="#t118">118</a></span><span class="t"> <span class="key">except</span> <span class="nam">ImportError</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
201
|
-
<p class="pln"><span class="n"><a id="t119" href="#t119">119</a></span><span class="t"> <span class="com"># Prometheus client not available, disable metrics</span> </span><span class="r"></span></p>
|
|
202
|
-
<p class="mis show_mis"><span class="n"><a id="t120" href="#t120">120</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="op">=</span> <span class="key">False</span> </span><span class="r"></span></p>
|
|
203
|
-
<p class="pln"><span class="n"><a id="t121" href="#t121">121</a></span><span class="t"> </span><span class="r"></span></p>
|
|
204
|
-
<p class="mis show_mis"><span class="n"><a id="t122" href="#t122">122</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_tool_execution</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">tool_name</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">status</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
205
|
-
<p class="pln"><span class="n"><a id="t123" href="#t123">123</a></span><span class="t"> <span class="str">"""Record a tool execution.</span> </span><span class="r"></span></p>
|
|
206
|
-
<p class="pln"><span class="n"><a id="t124" href="#t124">124</a></span><span class="t"> </span><span class="r"></span></p>
|
|
207
|
-
<p class="pln"><span class="n"><a id="t125" href="#t125">125</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
208
|
-
<p class="pln"><span class="n"><a id="t126" href="#t126">126</a></span><span class="t"><span class="str"> tool_name: Name of the tool that was executed</span> </span><span class="r"></span></p>
|
|
209
|
-
<p class="pln"><span class="n"><a id="t127" href="#t127">127</a></span><span class="t"><span class="str"> status: Execution status ('success' or 'error')</span> </span><span class="r"></span></p>
|
|
210
|
-
<p class="pln"><span class="n"><a id="t128" href="#t128">128</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
211
|
-
<p class="mis show_mis"><span class="n"><a id="t129" href="#t129">129</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"tool_executions"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
212
|
-
<p class="mis show_mis"><span class="n"><a id="t130" href="#t130">130</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
213
|
-
<p class="pln"><span class="n"><a id="t131" href="#t131">131</a></span><span class="t"> </span><span class="r"></span></p>
|
|
214
|
-
<p class="mis show_mis"><span class="n"><a id="t132" href="#t132">132</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"tool_executions"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">tool_name</span><span class="op">=</span><span class="nam">tool_name</span><span class="op">,</span> <span class="nam">status</span><span class="op">=</span><span class="nam">status</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
215
|
-
<p class="pln"><span class="n"><a id="t133" href="#t133">133</a></span><span class="t"> </span><span class="r"></span></p>
|
|
216
|
-
<p class="mis show_mis"><span class="n"><a id="t134" href="#t134">134</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_tool_duration</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">tool_name</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">duration</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
217
|
-
<p class="pln"><span class="n"><a id="t135" href="#t135">135</a></span><span class="t"> <span class="str">"""Record tool execution duration.</span> </span><span class="r"></span></p>
|
|
218
|
-
<p class="pln"><span class="n"><a id="t136" href="#t136">136</a></span><span class="t"> </span><span class="r"></span></p>
|
|
219
|
-
<p class="pln"><span class="n"><a id="t137" href="#t137">137</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
220
|
-
<p class="pln"><span class="n"><a id="t138" href="#t138">138</a></span><span class="t"><span class="str"> tool_name: Name of the tool</span> </span><span class="r"></span></p>
|
|
221
|
-
<p class="pln"><span class="n"><a id="t139" href="#t139">139</a></span><span class="t"><span class="str"> duration: Execution duration in seconds</span> </span><span class="r"></span></p>
|
|
222
|
-
<p class="pln"><span class="n"><a id="t140" href="#t140">140</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
223
|
-
<p class="mis show_mis"><span class="n"><a id="t141" href="#t141">141</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"tool_duration"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
224
|
-
<p class="mis show_mis"><span class="n"><a id="t142" href="#t142">142</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
225
|
-
<p class="pln"><span class="n"><a id="t143" href="#t143">143</a></span><span class="t"> </span><span class="r"></span></p>
|
|
226
|
-
<p class="mis show_mis"><span class="n"><a id="t144" href="#t144">144</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"tool_duration"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">tool_name</span><span class="op">=</span><span class="nam">tool_name</span><span class="op">)</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">duration</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
227
|
-
<p class="pln"><span class="n"><a id="t145" href="#t145">145</a></span><span class="t"> </span><span class="r"></span></p>
|
|
228
|
-
<p class="mis show_mis"><span class="n"><a id="t146" href="#t146">146</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_http_request</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">method</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">status_code</span><span class="op">:</span> <span class="nam">int</span><span class="op">,</span> <span class="nam">path</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
229
|
-
<p class="pln"><span class="n"><a id="t147" href="#t147">147</a></span><span class="t"> <span class="str">"""Record an HTTP request.</span> </span><span class="r"></span></p>
|
|
230
|
-
<p class="pln"><span class="n"><a id="t148" href="#t148">148</a></span><span class="t"> </span><span class="r"></span></p>
|
|
231
|
-
<p class="pln"><span class="n"><a id="t149" href="#t149">149</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
232
|
-
<p class="pln"><span class="n"><a id="t150" href="#t150">150</a></span><span class="t"><span class="str"> method: HTTP method (GET, POST, etc.)</span> </span><span class="r"></span></p>
|
|
233
|
-
<p class="pln"><span class="n"><a id="t151" href="#t151">151</a></span><span class="t"><span class="str"> status_code: HTTP status code</span> </span><span class="r"></span></p>
|
|
234
|
-
<p class="pln"><span class="n"><a id="t152" href="#t152">152</a></span><span class="t"><span class="str"> path: Request path</span> </span><span class="r"></span></p>
|
|
235
|
-
<p class="pln"><span class="n"><a id="t153" href="#t153">153</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
236
|
-
<p class="mis show_mis"><span class="n"><a id="t154" href="#t154">154</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"http_requests"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
237
|
-
<p class="mis show_mis"><span class="n"><a id="t155" href="#t155">155</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
238
|
-
<p class="pln"><span class="n"><a id="t156" href="#t156">156</a></span><span class="t"> </span><span class="r"></span></p>
|
|
239
|
-
<p class="mis show_mis"><span class="n"><a id="t157" href="#t157">157</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"http_requests"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">method</span><span class="op">=</span><span class="nam">method</span><span class="op">,</span> <span class="nam">status_code</span><span class="op">=</span><span class="nam">str</span><span class="op">(</span><span class="nam">status_code</span><span class="op">)</span><span class="op">,</span> <span class="nam">path</span><span class="op">=</span><span class="nam">path</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
240
|
-
<p class="pln"><span class="n"><a id="t158" href="#t158">158</a></span><span class="t"> </span><span class="r"></span></p>
|
|
241
|
-
<p class="mis show_mis"><span class="n"><a id="t159" href="#t159">159</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_http_duration</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">method</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">path</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">duration</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
242
|
-
<p class="pln"><span class="n"><a id="t160" href="#t160">160</a></span><span class="t"> <span class="str">"""Record HTTP request duration.</span> </span><span class="r"></span></p>
|
|
243
|
-
<p class="pln"><span class="n"><a id="t161" href="#t161">161</a></span><span class="t"> </span><span class="r"></span></p>
|
|
244
|
-
<p class="pln"><span class="n"><a id="t162" href="#t162">162</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
245
|
-
<p class="pln"><span class="n"><a id="t163" href="#t163">163</a></span><span class="t"><span class="str"> method: HTTP method</span> </span><span class="r"></span></p>
|
|
246
|
-
<p class="pln"><span class="n"><a id="t164" href="#t164">164</a></span><span class="t"><span class="str"> path: Request path</span> </span><span class="r"></span></p>
|
|
247
|
-
<p class="pln"><span class="n"><a id="t165" href="#t165">165</a></span><span class="t"><span class="str"> duration: Request duration in seconds</span> </span><span class="r"></span></p>
|
|
248
|
-
<p class="pln"><span class="n"><a id="t166" href="#t166">166</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
249
|
-
<p class="mis show_mis"><span class="n"><a id="t167" href="#t167">167</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"http_duration"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
250
|
-
<p class="mis show_mis"><span class="n"><a id="t168" href="#t168">168</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
251
|
-
<p class="pln"><span class="n"><a id="t169" href="#t169">169</a></span><span class="t"> </span><span class="r"></span></p>
|
|
252
|
-
<p class="mis show_mis"><span class="n"><a id="t170" href="#t170">170</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"http_duration"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">method</span><span class="op">=</span><span class="nam">method</span><span class="op">,</span> <span class="nam">path</span><span class="op">=</span><span class="nam">path</span><span class="op">)</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">duration</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
253
|
-
<p class="pln"><span class="n"><a id="t171" href="#t171">171</a></span><span class="t"> </span><span class="r"></span></p>
|
|
254
|
-
<p class="mis show_mis"><span class="n"><a id="t172" href="#t172">172</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_resource_read</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">resource_uri</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
255
|
-
<p class="pln"><span class="n"><a id="t173" href="#t173">173</a></span><span class="t"> <span class="str">"""Record a resource read.</span> </span><span class="r"></span></p>
|
|
256
|
-
<p class="pln"><span class="n"><a id="t174" href="#t174">174</a></span><span class="t"> </span><span class="r"></span></p>
|
|
257
|
-
<p class="pln"><span class="n"><a id="t175" href="#t175">175</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
258
|
-
<p class="pln"><span class="n"><a id="t176" href="#t176">176</a></span><span class="t"><span class="str"> resource_uri: URI of the resource that was read</span> </span><span class="r"></span></p>
|
|
259
|
-
<p class="pln"><span class="n"><a id="t177" href="#t177">177</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
260
|
-
<p class="mis show_mis"><span class="n"><a id="t178" href="#t178">178</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"resource_reads"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
261
|
-
<p class="mis show_mis"><span class="n"><a id="t179" href="#t179">179</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
262
|
-
<p class="pln"><span class="n"><a id="t180" href="#t180">180</a></span><span class="t"> </span><span class="r"></span></p>
|
|
263
|
-
<p class="mis show_mis"><span class="n"><a id="t181" href="#t181">181</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"resource_reads"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">resource_uri</span><span class="op">=</span><span class="nam">resource_uri</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
264
|
-
<p class="pln"><span class="n"><a id="t182" href="#t182">182</a></span><span class="t"> </span><span class="r"></span></p>
|
|
265
|
-
<p class="mis show_mis"><span class="n"><a id="t183" href="#t183">183</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_prompt_generation</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">prompt_name</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
266
|
-
<p class="pln"><span class="n"><a id="t184" href="#t184">184</a></span><span class="t"> <span class="str">"""Record a prompt generation.</span> </span><span class="r"></span></p>
|
|
267
|
-
<p class="pln"><span class="n"><a id="t185" href="#t185">185</a></span><span class="t"> </span><span class="r"></span></p>
|
|
268
|
-
<p class="pln"><span class="n"><a id="t186" href="#t186">186</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
269
|
-
<p class="pln"><span class="n"><a id="t187" href="#t187">187</a></span><span class="t"><span class="str"> prompt_name: Name of the prompt that was generated</span> </span><span class="r"></span></p>
|
|
270
|
-
<p class="pln"><span class="n"><a id="t188" href="#t188">188</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
271
|
-
<p class="mis show_mis"><span class="n"><a id="t189" href="#t189">189</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"prompt_generations"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
272
|
-
<p class="mis show_mis"><span class="n"><a id="t190" href="#t190">190</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
273
|
-
<p class="pln"><span class="n"><a id="t191" href="#t191">191</a></span><span class="t"> </span><span class="r"></span></p>
|
|
274
|
-
<p class="mis show_mis"><span class="n"><a id="t192" href="#t192">192</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"prompt_generations"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">prompt_name</span><span class="op">=</span><span class="nam">prompt_name</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
275
|
-
<p class="pln"><span class="n"><a id="t193" href="#t193">193</a></span><span class="t"> </span><span class="r"></span></p>
|
|
276
|
-
<p class="mis show_mis"><span class="n"><a id="t194" href="#t194">194</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_error</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">component_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">error_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
277
|
-
<p class="pln"><span class="n"><a id="t195" href="#t195">195</a></span><span class="t"> <span class="str">"""Record an error.</span> </span><span class="r"></span></p>
|
|
278
|
-
<p class="pln"><span class="n"><a id="t196" href="#t196">196</a></span><span class="t"> </span><span class="r"></span></p>
|
|
279
|
-
<p class="pln"><span class="n"><a id="t197" href="#t197">197</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
280
|
-
<p class="pln"><span class="n"><a id="t198" href="#t198">198</a></span><span class="t"><span class="str"> component_type: Type of component ('tool', 'resource', 'prompt', 'http')</span> </span><span class="r"></span></p>
|
|
281
|
-
<p class="pln"><span class="n"><a id="t199" href="#t199">199</a></span><span class="t"><span class="str"> error_type: Type of error ('timeout', 'auth_error',</span> </span><span class="r"></span></p>
|
|
282
|
-
<p class="pln"><span class="n"><a id="t200" href="#t200">200</a></span><span class="t"><span class="str"> 'validation_error', etc.)</span> </span><span class="r"></span></p>
|
|
283
|
-
<p class="pln"><span class="n"><a id="t201" href="#t201">201</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
284
|
-
<p class="mis show_mis"><span class="n"><a id="t202" href="#t202">202</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"errors"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
285
|
-
<p class="mis show_mis"><span class="n"><a id="t203" href="#t203">203</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
286
|
-
<p class="pln"><span class="n"><a id="t204" href="#t204">204</a></span><span class="t"> </span><span class="r"></span></p>
|
|
287
|
-
<p class="mis show_mis"><span class="n"><a id="t205" href="#t205">205</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"errors"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">component_type</span><span class="op">=</span><span class="nam">component_type</span><span class="op">,</span> <span class="nam">error_type</span><span class="op">=</span><span class="nam">error_type</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
288
|
-
<p class="pln"><span class="n"><a id="t206" href="#t206">206</a></span><span class="t"> </span><span class="r"></span></p>
|
|
289
|
-
<p class="mis show_mis"><span class="n"><a id="t207" href="#t207">207</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_session</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
290
|
-
<p class="pln"><span class="n"><a id="t208" href="#t208">208</a></span><span class="t"> <span class="str">"""Record a new session."""</span> </span><span class="r"></span></p>
|
|
291
|
-
<p class="mis show_mis"><span class="n"><a id="t209" href="#t209">209</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"sessions_total"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
292
|
-
<p class="mis show_mis"><span class="n"><a id="t210" href="#t210">210</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
293
|
-
<p class="pln"><span class="n"><a id="t211" href="#t211">211</a></span><span class="t"> </span><span class="r"></span></p>
|
|
294
|
-
<p class="mis show_mis"><span class="n"><a id="t212" href="#t212">212</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sessions_total"</span><span class="op">]</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
295
|
-
<p class="pln"><span class="n"><a id="t213" href="#t213">213</a></span><span class="t"> </span><span class="r"></span></p>
|
|
296
|
-
<p class="mis show_mis"><span class="n"><a id="t214" href="#t214">214</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_session_duration</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">duration</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
297
|
-
<p class="pln"><span class="n"><a id="t215" href="#t215">215</a></span><span class="t"> <span class="str">"""Record session duration.</span> </span><span class="r"></span></p>
|
|
298
|
-
<p class="pln"><span class="n"><a id="t216" href="#t216">216</a></span><span class="t"> </span><span class="r"></span></p>
|
|
299
|
-
<p class="pln"><span class="n"><a id="t217" href="#t217">217</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
300
|
-
<p class="pln"><span class="n"><a id="t218" href="#t218">218</a></span><span class="t"><span class="str"> duration: Session duration in seconds</span> </span><span class="r"></span></p>
|
|
301
|
-
<p class="pln"><span class="n"><a id="t219" href="#t219">219</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
302
|
-
<p class="mis show_mis"><span class="n"><a id="t220" href="#t220">220</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"session_duration"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
303
|
-
<p class="mis show_mis"><span class="n"><a id="t221" href="#t221">221</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
304
|
-
<p class="pln"><span class="n"><a id="t222" href="#t222">222</a></span><span class="t"> </span><span class="r"></span></p>
|
|
305
|
-
<p class="mis show_mis"><span class="n"><a id="t223" href="#t223">223</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"session_duration"</span><span class="op">]</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">duration</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
306
|
-
<p class="pln"><span class="n"><a id="t224" href="#t224">224</a></span><span class="t"> </span><span class="r"></span></p>
|
|
307
|
-
<p class="mis show_mis"><span class="n"><a id="t225" href="#t225">225</a></span><span class="t"> <span class="key">def</span> <span class="nam">set_uptime</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">seconds</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
308
|
-
<p class="pln"><span class="n"><a id="t226" href="#t226">226</a></span><span class="t"> <span class="str">"""Set the server uptime.</span> </span><span class="r"></span></p>
|
|
309
|
-
<p class="pln"><span class="n"><a id="t227" href="#t227">227</a></span><span class="t"> </span><span class="r"></span></p>
|
|
310
|
-
<p class="pln"><span class="n"><a id="t228" href="#t228">228</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
311
|
-
<p class="pln"><span class="n"><a id="t229" href="#t229">229</a></span><span class="t"><span class="str"> seconds: Server uptime in seconds</span> </span><span class="r"></span></p>
|
|
312
|
-
<p class="pln"><span class="n"><a id="t230" href="#t230">230</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
313
|
-
<p class="mis show_mis"><span class="n"><a id="t231" href="#t231">231</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"uptime"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
314
|
-
<p class="mis show_mis"><span class="n"><a id="t232" href="#t232">232</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
315
|
-
<p class="pln"><span class="n"><a id="t233" href="#t233">233</a></span><span class="t"> </span><span class="r"></span></p>
|
|
316
|
-
<p class="mis show_mis"><span class="n"><a id="t234" href="#t234">234</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"uptime"</span><span class="op">]</span><span class="op">.</span><span class="nam">set</span><span class="op">(</span><span class="nam">seconds</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
317
|
-
<p class="pln"><span class="n"><a id="t235" href="#t235">235</a></span><span class="t"> </span><span class="r"></span></p>
|
|
318
|
-
<p class="mis show_mis"><span class="n"><a id="t236" href="#t236">236</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_sampling</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sampling_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">status</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
319
|
-
<p class="pln"><span class="n"><a id="t237" href="#t237">237</a></span><span class="t"> <span class="str">"""Record a sampling request.</span> </span><span class="r"></span></p>
|
|
320
|
-
<p class="pln"><span class="n"><a id="t238" href="#t238">238</a></span><span class="t"> </span><span class="r"></span></p>
|
|
321
|
-
<p class="pln"><span class="n"><a id="t239" href="#t239">239</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
322
|
-
<p class="pln"><span class="n"><a id="t240" href="#t240">240</a></span><span class="t"><span class="str"> sampling_type: Type of sampling ('sample', 'structured', 'context')</span> </span><span class="r"></span></p>
|
|
323
|
-
<p class="pln"><span class="n"><a id="t241" href="#t241">241</a></span><span class="t"><span class="str"> status: Request status ('success' or 'error')</span> </span><span class="r"></span></p>
|
|
324
|
-
<p class="pln"><span class="n"><a id="t242" href="#t242">242</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
325
|
-
<p class="mis show_mis"><span class="n"><a id="t243" href="#t243">243</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"sampling_requests"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
326
|
-
<p class="mis show_mis"><span class="n"><a id="t244" href="#t244">244</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
327
|
-
<p class="pln"><span class="n"><a id="t245" href="#t245">245</a></span><span class="t"> </span><span class="r"></span></p>
|
|
328
|
-
<p class="mis show_mis"><span class="n"><a id="t246" href="#t246">246</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_requests"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">sampling_type</span><span class="op">=</span><span class="nam">sampling_type</span><span class="op">,</span> <span class="nam">status</span><span class="op">=</span><span class="nam">status</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
329
|
-
<p class="pln"><span class="n"><a id="t247" href="#t247">247</a></span><span class="t"> </span><span class="r"></span></p>
|
|
330
|
-
<p class="mis show_mis"><span class="n"><a id="t248" href="#t248">248</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_sampling_duration</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sampling_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">duration</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
331
|
-
<p class="pln"><span class="n"><a id="t249" href="#t249">249</a></span><span class="t"> <span class="str">"""Record sampling request duration.</span> </span><span class="r"></span></p>
|
|
332
|
-
<p class="pln"><span class="n"><a id="t250" href="#t250">250</a></span><span class="t"> </span><span class="r"></span></p>
|
|
333
|
-
<p class="pln"><span class="n"><a id="t251" href="#t251">251</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
334
|
-
<p class="pln"><span class="n"><a id="t252" href="#t252">252</a></span><span class="t"><span class="str"> sampling_type: Type of sampling</span> </span><span class="r"></span></p>
|
|
335
|
-
<p class="pln"><span class="n"><a id="t253" href="#t253">253</a></span><span class="t"><span class="str"> duration: Request duration in seconds</span> </span><span class="r"></span></p>
|
|
336
|
-
<p class="pln"><span class="n"><a id="t254" href="#t254">254</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
337
|
-
<p class="mis show_mis"><span class="n"><a id="t255" href="#t255">255</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"sampling_duration"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
338
|
-
<p class="mis show_mis"><span class="n"><a id="t256" href="#t256">256</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
339
|
-
<p class="pln"><span class="n"><a id="t257" href="#t257">257</a></span><span class="t"> </span><span class="r"></span></p>
|
|
340
|
-
<p class="mis show_mis"><span class="n"><a id="t258" href="#t258">258</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_duration"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">sampling_type</span><span class="op">=</span><span class="nam">sampling_type</span><span class="op">)</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">duration</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
341
|
-
<p class="pln"><span class="n"><a id="t259" href="#t259">259</a></span><span class="t"> </span><span class="r"></span></p>
|
|
342
|
-
<p class="mis show_mis"><span class="n"><a id="t260" href="#t260">260</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_sampling_tokens</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sampling_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">token_count</span><span class="op">:</span> <span class="nam">int</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
343
|
-
<p class="pln"><span class="n"><a id="t261" href="#t261">261</a></span><span class="t"> <span class="str">"""Record sampling token count.</span> </span><span class="r"></span></p>
|
|
344
|
-
<p class="pln"><span class="n"><a id="t262" href="#t262">262</a></span><span class="t"> </span><span class="r"></span></p>
|
|
345
|
-
<p class="pln"><span class="n"><a id="t263" href="#t263">263</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
346
|
-
<p class="pln"><span class="n"><a id="t264" href="#t264">264</a></span><span class="t"><span class="str"> sampling_type: Type of sampling</span> </span><span class="r"></span></p>
|
|
347
|
-
<p class="pln"><span class="n"><a id="t265" href="#t265">265</a></span><span class="t"><span class="str"> token_count: Number of tokens in the response</span> </span><span class="r"></span></p>
|
|
348
|
-
<p class="pln"><span class="n"><a id="t266" href="#t266">266</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
349
|
-
<p class="mis show_mis"><span class="n"><a id="t267" href="#t267">267</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"sampling_tokens"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
350
|
-
<p class="mis show_mis"><span class="n"><a id="t268" href="#t268">268</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
351
|
-
<p class="pln"><span class="n"><a id="t269" href="#t269">269</a></span><span class="t"> </span><span class="r"></span></p>
|
|
352
|
-
<p class="mis show_mis"><span class="n"><a id="t270" href="#t270">270</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"sampling_tokens"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">sampling_type</span><span class="op">=</span><span class="nam">sampling_type</span><span class="op">)</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">token_count</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
353
|
-
<p class="pln"><span class="n"><a id="t271" href="#t271">271</a></span><span class="t"> </span><span class="r"></span></p>
|
|
354
|
-
<p class="mis show_mis"><span class="n"><a id="t272" href="#t272">272</a></span><span class="t"> <span class="key">def</span> <span class="nam">increment_elicitation</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">elicitation_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">status</span><span class="op">:</span> <span class="nam">str</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
355
|
-
<p class="pln"><span class="n"><a id="t273" href="#t273">273</a></span><span class="t"> <span class="str">"""Record an elicitation request.</span> </span><span class="r"></span></p>
|
|
356
|
-
<p class="pln"><span class="n"><a id="t274" href="#t274">274</a></span><span class="t"> </span><span class="r"></span></p>
|
|
357
|
-
<p class="pln"><span class="n"><a id="t275" href="#t275">275</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
358
|
-
<p class="pln"><span class="n"><a id="t276" href="#t276">276</a></span><span class="t"><span class="str"> elicitation_type: Type of elicitation ('elicit', 'confirmation')</span> </span><span class="r"></span></p>
|
|
359
|
-
<p class="pln"><span class="n"><a id="t277" href="#t277">277</a></span><span class="t"><span class="str"> status: Request status ('success' or 'error')</span> </span><span class="r"></span></p>
|
|
360
|
-
<p class="pln"><span class="n"><a id="t278" href="#t278">278</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
361
|
-
<p class="mis show_mis"><span class="n"><a id="t279" href="#t279">279</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"elicitation_requests"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
362
|
-
<p class="mis show_mis"><span class="n"><a id="t280" href="#t280">280</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
363
|
-
<p class="pln"><span class="n"><a id="t281" href="#t281">281</a></span><span class="t"> </span><span class="r"></span></p>
|
|
364
|
-
<p class="mis show_mis"><span class="n"><a id="t282" href="#t282">282</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"elicitation_requests"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">elicitation_type</span><span class="op">=</span><span class="nam">elicitation_type</span><span class="op">,</span> <span class="nam">status</span><span class="op">=</span><span class="nam">status</span><span class="op">)</span><span class="op">.</span><span class="nam">inc</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
365
|
-
<p class="pln"><span class="n"><a id="t283" href="#t283">283</a></span><span class="t"> </span><span class="r"></span></p>
|
|
366
|
-
<p class="mis show_mis"><span class="n"><a id="t284" href="#t284">284</a></span><span class="t"> <span class="key">def</span> <span class="nam">record_elicitation_duration</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">elicitation_type</span><span class="op">:</span> <span class="nam">str</span><span class="op">,</span> <span class="nam">duration</span><span class="op">:</span> <span class="nam">float</span><span class="op">)</span> <span class="op">-></span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
367
|
-
<p class="pln"><span class="n"><a id="t285" href="#t285">285</a></span><span class="t"> <span class="str">"""Record elicitation request duration.</span> </span><span class="r"></span></p>
|
|
368
|
-
<p class="pln"><span class="n"><a id="t286" href="#t286">286</a></span><span class="t"> </span><span class="r"></span></p>
|
|
369
|
-
<p class="pln"><span class="n"><a id="t287" href="#t287">287</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
370
|
-
<p class="pln"><span class="n"><a id="t288" href="#t288">288</a></span><span class="t"><span class="str"> elicitation_type: Type of elicitation</span> </span><span class="r"></span></p>
|
|
371
|
-
<p class="pln"><span class="n"><a id="t289" href="#t289">289</a></span><span class="t"><span class="str"> duration: Request duration in seconds</span> </span><span class="r"></span></p>
|
|
372
|
-
<p class="pln"><span class="n"><a id="t290" href="#t290">290</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
373
|
-
<p class="mis show_mis"><span class="n"><a id="t291" href="#t291">291</a></span><span class="t"> <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">enabled</span> <span class="key">or</span> <span class="str">"elicitation_duration"</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
374
|
-
<p class="mis show_mis"><span class="n"><a id="t292" href="#t292">292</a></span><span class="t"> <span class="key">return</span> </span><span class="r"></span></p>
|
|
375
|
-
<p class="pln"><span class="n"><a id="t293" href="#t293">293</a></span><span class="t"> </span><span class="r"></span></p>
|
|
376
|
-
<p class="mis show_mis"><span class="n"><a id="t294" href="#t294">294</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">_metrics</span><span class="op">[</span><span class="str">"elicitation_duration"</span><span class="op">]</span><span class="op">.</span><span class="nam">labels</span><span class="op">(</span><span class="nam">elicitation_type</span><span class="op">=</span><span class="nam">elicitation_type</span><span class="op">)</span><span class="op">.</span><span class="nam">observe</span><span class="op">(</span><span class="nam">duration</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
377
|
-
<p class="pln"><span class="n"><a id="t295" href="#t295">295</a></span><span class="t"> </span><span class="r"></span></p>
|
|
378
|
-
<p class="pln"><span class="n"><a id="t296" href="#t296">296</a></span><span class="t"> </span><span class="r"></span></p>
|
|
379
|
-
<p class="mis show_mis"><span class="n"><a id="t297" href="#t297">297</a></span><span class="t"><span class="key">def</span> <span class="nam">init_metrics_collector</span><span class="op">(</span><span class="nam">enabled</span><span class="op">:</span> <span class="nam">bool</span> <span class="op">=</span> <span class="key">False</span><span class="op">)</span> <span class="op">-></span> <span class="nam">MetricsCollector</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
380
|
-
<p class="pln"><span class="n"><a id="t298" href="#t298">298</a></span><span class="t"> <span class="str">"""Initialize the global metrics collector.</span> </span><span class="r"></span></p>
|
|
381
|
-
<p class="pln"><span class="n"><a id="t299" href="#t299">299</a></span><span class="t"> </span><span class="r"></span></p>
|
|
382
|
-
<p class="pln"><span class="n"><a id="t300" href="#t300">300</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
|
|
383
|
-
<p class="pln"><span class="n"><a id="t301" href="#t301">301</a></span><span class="t"><span class="str"> enabled: Whether to enable metrics collection</span> </span><span class="r"></span></p>
|
|
384
|
-
<p class="pln"><span class="n"><a id="t302" href="#t302">302</a></span><span class="t"> </span><span class="r"></span></p>
|
|
385
|
-
<p class="pln"><span class="n"><a id="t303" href="#t303">303</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
|
|
386
|
-
<p class="pln"><span class="n"><a id="t304" href="#t304">304</a></span><span class="t"><span class="str"> The initialized metrics collector</span> </span><span class="r"></span></p>
|
|
387
|
-
<p class="pln"><span class="n"><a id="t305" href="#t305">305</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
388
|
-
<p class="pln"><span class="n"><a id="t306" href="#t306">306</a></span><span class="t"> <span class="key">global</span> <span class="nam">_metrics_collector</span> </span><span class="r"></span></p>
|
|
389
|
-
<p class="mis show_mis"><span class="n"><a id="t307" href="#t307">307</a></span><span class="t"> <span class="nam">_metrics_collector</span> <span class="op">=</span> <span class="nam">MetricsCollector</span><span class="op">(</span><span class="nam">enabled</span><span class="op">=</span><span class="nam">enabled</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
390
|
-
<p class="mis show_mis"><span class="n"><a id="t308" href="#t308">308</a></span><span class="t"> <span class="key">return</span> <span class="nam">_metrics_collector</span> </span><span class="r"></span></p>
|
|
391
|
-
<p class="pln"><span class="n"><a id="t309" href="#t309">309</a></span><span class="t"> </span><span class="r"></span></p>
|
|
392
|
-
<p class="pln"><span class="n"><a id="t310" href="#t310">310</a></span><span class="t"> </span><span class="r"></span></p>
|
|
393
|
-
<p class="mis show_mis"><span class="n"><a id="t311" href="#t311">311</a></span><span class="t"><span class="key">def</span> <span class="nam">get_metrics_collector</span><span class="op">(</span><span class="op">)</span> <span class="op">-></span> <span class="nam">MetricsCollector</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
394
|
-
<p class="pln"><span class="n"><a id="t312" href="#t312">312</a></span><span class="t"> <span class="str">"""Get the global metrics collector instance.</span> </span><span class="r"></span></p>
|
|
395
|
-
<p class="pln"><span class="n"><a id="t313" href="#t313">313</a></span><span class="t"> </span><span class="r"></span></p>
|
|
396
|
-
<p class="pln"><span class="n"><a id="t314" href="#t314">314</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
|
|
397
|
-
<p class="pln"><span class="n"><a id="t315" href="#t315">315</a></span><span class="t"><span class="str"> The metrics collector, or a disabled one if not initialized</span> </span><span class="r"></span></p>
|
|
398
|
-
<p class="pln"><span class="n"><a id="t316" href="#t316">316</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
|
|
399
|
-
<p class="pln"><span class="n"><a id="t317" href="#t317">317</a></span><span class="t"> <span class="key">global</span> <span class="nam">_metrics_collector</span> </span><span class="r"></span></p>
|
|
400
|
-
<p class="mis show_mis"><span class="n"><a id="t318" href="#t318">318</a></span><span class="t"> <span class="key">if</span> <span class="nam">_metrics_collector</span> <span class="key">is</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
401
|
-
<p class="mis show_mis"><span class="n"><a id="t319" href="#t319">319</a></span><span class="t"> <span class="nam">_metrics_collector</span> <span class="op">=</span> <span class="nam">MetricsCollector</span><span class="op">(</span><span class="nam">enabled</span><span class="op">=</span><span class="key">False</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
402
|
-
<p class="mis show_mis"><span class="n"><a id="t320" href="#t320">320</a></span><span class="t"> <span class="key">return</span> <span class="nam">_metrics_collector</span> </span><span class="r"></span></p>
|
|
403
|
-
</main>
|
|
404
|
-
<footer>
|
|
405
|
-
<div class="content">
|
|
406
|
-
<p>
|
|
407
|
-
<a class="nav" href="z_7d7da37693a43688___init___py.html">« prev</a>
|
|
408
|
-
<a class="nav" href="index.html">^ index</a>
|
|
409
|
-
<a class="nav" href="z_7d7da37693a43688_registry_py.html">» next</a>
|
|
410
|
-
|
|
411
|
-
<a class="nav" href="https://coverage.readthedocs.io/en/7.6.12">coverage.py v7.6.12</a>,
|
|
412
|
-
created at 2025-08-16 18:46 +0200
|
|
413
|
-
</p>
|
|
414
|
-
</div>
|
|
415
|
-
</footer>
|
|
416
|
-
</body>
|
|
417
|
-
</html>
|