clawmetry 0.12.331__py3-none-any.whl → 0.12.332__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.
@@ -6782,9 +6782,13 @@ function _cmPopulateGlobalRuntime(counts) {
6782
6782
  var active = _cmRuntimeFilter();
6783
6783
  if (active !== 'all' && !counts[active]) active = 'all';
6784
6784
  var total = order.reduce(function(a, k) { return a + counts[k]; }, 0);
6785
- var html = '<option value="all">All runtimes (' + total + ')</option>';
6785
+ // The count is the number of SESSIONS for that runtime — spell it out so the
6786
+ // chip doesn't read as "22 Claude Code runtimes" (there's one runtime, many
6787
+ // sessions). Singular/plural for the "1 session" case.
6788
+ function _sessLabel(n) { return n + (n === 1 ? ' session' : ' sessions'); }
6789
+ var html = '<option value="all">All runtimes · ' + _sessLabel(total) + '</option>';
6786
6790
  order.forEach(function(k) {
6787
- html += '<option value="' + k + '">' + escHtml(_CM_RT_LABEL[k] || k) + ' (' + counts[k] + ')</option>';
6791
+ html += '<option value="' + k + '">' + escHtml(_CM_RT_LABEL[k] || k) + ' · ' + _sessLabel(counts[k]) + '</option>';
6788
6792
  });
6789
6793
  sel.innerHTML = html;
6790
6794
  sel.value = active;
@@ -8839,6 +8843,13 @@ function _renderTraceRows() {
8839
8843
  var box = document.getElementById('trace-rows');
8840
8844
  if (!box) return;
8841
8845
  var traces = (window._allTraces || []).slice();
8846
+ // Global runtime switcher (header): scope traces to one runtime. Each
8847
+ // event-derived trace's `trace_id` IS its session_id, whose prefix is the
8848
+ // runtime discriminator (OTLP traces with hex ids fall through to OpenClaw).
8849
+ var _trRt = (typeof _cmRuntimeFilter === 'function') ? _cmRuntimeFilter() : 'all';
8850
+ if (_trRt && _trRt !== 'all') {
8851
+ traces = traces.filter(function(t) { return _cmRuntimeOf({ id: t.trace_id }) === _trRt; });
8852
+ }
8842
8853
  var f = window._traceListFilter, q = window._traceListSearch;
8843
8854
  if (q) traces = traces.filter(function(t) {
8844
8855
  return (((t.trace_id || '') + ' ' + (t.model || '')).toLowerCase().indexOf(q) !== -1);
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clawmetry
3
- Version: 0.12.331
3
+ Version: 0.12.332
4
4
  Summary: ClawMetry - Real-time observability dashboard for OpenClaw AI agents
5
5
  Home-page: https://github.com/vivekchand/clawmetry
6
6
  Author: Vivek Chand
@@ -1,4 +1,4 @@
1
- dashboard.py,sha256=lSK6p2fyaXVbpiaU22ugHOMRgjGex9eIONF71hGfbWQ,821494
1
+ dashboard.py,sha256=wwqvgbHH--zu33q7EMl8Y1QgBbNB_WWpb84A9kC_Fq8,821494
2
2
  clawmetry/__init__.py,sha256=IxhgASo8kfwL953PqW31XkE5OxNKDKOkVIdMbDTEWBI,929
3
3
  clawmetry/__main__.py,sha256=t0FzM3mA26QcQcycSwQIimmSanw1aR1E4jsHApdUi_w,268
4
4
  clawmetry/alert_evaluator.py,sha256=Ecw8mlEiovuhYotzP6h69LItpEeXmdzgq8Ikg_J6rp8,20426
@@ -54,7 +54,7 @@ clawmetry/resources/add-nemoclaw-clawmetry-preset.sh,sha256=tjV7HY8LAIya_LuUIAHL
54
54
  clawmetry/static/css/dashboard.css,sha256=zljgDilsH3QcVvMcRcxAKWdDxFJCdzuSmU2jOt3TRjg,108373
55
55
  clawmetry/static/img/logo.svg,sha256=_yazPBh2ffmVN-oBCamRBO6n05YwOiRKnNLA_irMhVE,10883
56
56
  clawmetry/static/js/alerts.js,sha256=hunFsaUQbAAZPIBnY3bwen5tUVGeuhPShvY8BvnDH20,33359
57
- clawmetry/static/js/app.js,sha256=xoF5qkifY9zcUSDa0rY8od4agdXNcKX93P9JKJ2Edn8,999500
57
+ clawmetry/static/js/app.js,sha256=XkJEc9T6ya2W9kc174Rdgx_uWZVRoH8r0gqLh1XrfNE,1000272
58
58
  clawmetry/static/js/auth-bootstrap.js,sha256=HkZLqHeEW9QSUNZMUs1gk3A0u-y-Dc97_0iuFkNS3Ak,5131
59
59
  clawmetry/static/js/dives.js,sha256=LFxQhAsu9cDh4VADC1P7A3P0UznZKNXe17BRBGo_8iA,10075
60
60
  clawmetry/static/js/gw-setup.js,sha256=vJXU1fS8JuWgEl0OaFV7aVuBahYKbNbTjSoakwI03ns,8506
@@ -141,7 +141,7 @@ clawmetry/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
141
141
  clawmetry/tests/integration/test_fast_paths_cross_process.py,sha256=9L9p5_gzQ1rZI3GV0F_pGD2GIF1JAAhwpGq55uGfdus,15299
142
142
  clawmetry/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  clawmetry/v2/routes.py,sha256=V0NGbWudBK0MIdl56m3PYwWZDrUClEZR4OZs4_rQJmc,18029
144
- clawmetry-0.12.331.dist-info/licenses/LICENSE,sha256=zdQBHvfCz4k8T_ib6mtyWYbQXGtD-g8Ih3t20sax_xE,1068
144
+ clawmetry-0.12.332.dist-info/licenses/LICENSE,sha256=zdQBHvfCz4k8T_ib6mtyWYbQXGtD-g8Ih3t20sax_xE,1068
145
145
  helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
146
  helpers/gateway.py,sha256=9QAqXRrdQlTypA2qAXSegz4VguwM0vK1irtdCh62OCs,8569
147
147
  helpers/hardware.py,sha256=PmYDyrhsmE9rz6KL_0ktKZNMCWtG7CjP55RVYpnREg8,3675
@@ -429,8 +429,8 @@ tests/test_v3_schema_parser.py,sha256=iHpxmvpdJWlPZKpUnvjMz1Mcwml_9q0cEAExhs1lRb
429
429
  tests/test_version_impact.py,sha256=x_Zmd7eD7wYrDdpMTF_y24dmRtXB8tYR5huSD8-IZCg,3039
430
430
  tests/test_version_impact_local_store_v3.py,sha256=bmX4M8AKMRws6HBiWoOwtvIc5MXsPj22hyWAtCQBK14,12034
431
431
  tests/test_workspace_switcher_copy.py,sha256=XUDkQ7BZIIXLfpvzzzfaRzWOyGs2E8dVOPLmAPrKErI,1708
432
- clawmetry-0.12.331.dist-info/METADATA,sha256=YWRW6pHNDMmgW1GovOipkQY0CySt3-ZGoJdEtByrmgs,18547
433
- clawmetry-0.12.331.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
434
- clawmetry-0.12.331.dist-info/entry_points.txt,sha256=RdRaoQJOKNChZUlJV3qqHRTa_PXGjskOCDgUXEp6XR0,49
435
- clawmetry-0.12.331.dist-info/top_level.txt,sha256=uBMYWHIWh_Jg_0SlFoFh3SZH0zr0AJ8nmneynwHhgDA,41
436
- clawmetry-0.12.331.dist-info/RECORD,,
432
+ clawmetry-0.12.332.dist-info/METADATA,sha256=kDE9ZqZyI_75SmamLOe031yJhBpQJOV-4cZUmIXioiM,18547
433
+ clawmetry-0.12.332.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
434
+ clawmetry-0.12.332.dist-info/entry_points.txt,sha256=RdRaoQJOKNChZUlJV3qqHRTa_PXGjskOCDgUXEp6XR0,49
435
+ clawmetry-0.12.332.dist-info/top_level.txt,sha256=uBMYWHIWh_Jg_0SlFoFh3SZH0zr0AJ8nmneynwHhgDA,41
436
+ clawmetry-0.12.332.dist-info/RECORD,,
dashboard.py CHANGED
@@ -153,7 +153,7 @@ except ImportError:
153
153
  metrics_service_pb2 = None
154
154
  trace_service_pb2 = None
155
155
 
156
- __version__ = "0.12.331"
156
+ __version__ = "0.12.332"
157
157
 
158
158
  # Extensions (Phase 2) — load plugins at import time; safe no-op if package not installed
159
159
  try: