• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thoughtspot / mcp-server / 25191489670
89%

Build:
DEFAULT BRANCH: main
Ran 30 Apr 2026 10:02PM UTC
Jobs 1
Files 31
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Apr 2026 10:01PM UTC coverage: 88.102% (-0.08%) from 88.185%
25191489670

push

github

web-flow
SCAL-309983 Harden metrics request isolation (#129)

* SCAL-309983 Harden metrics request isolation

## Summary

Harden the metrics request wrapper so metrics setup, scheduling, and flush failures cannot
block MCP business logic or become visible to MCP clients.

## What Changed

- fall back to a noop sink if metrics config or sink construction throws
- keep `recorder.flush()` focused on metrics delivery, not Worker scheduling
- schedule request metrics flush through `ctx.waitUntil(...)` without awaiting delivery
- log waitUntil scheduling failures separately from metrics execution failures
- add tests for setup fallback, slow flushes, handler failures, waitUntil failures, and
  delivery failures

## Semantics

Direct `recorder.flush()` calls still await delivery. `withRequestMetrics(...)` only schedules
the request-scoped flush so slow, failing, or unavailable sinks do not delay responses.

Metrics failures remain best-effort side effects and are never propagated to MCP clients.

## Validation

- `npm run lint`
- focused runtime metrics tests
- `npm test`

* SCAL-309983 Return noop recorder on init fallback

## Summary

Use a stateless noop metrics recorder for initialization fallback so the fail-open path does
not construct a second request recorder.

## What Changed

- add a shared `NOOP_METRICS_RECORDER` implementation
- return the noop recorder when metrics config or sink setup throws
- update tests and log wording to reflect the recorder-level fallback

479 of 564 branches covered (84.93%)

Branch coverage included in aggregate %.

17 of 20 new or added lines in 2 files covered. (85.0%)

1187 of 1327 relevant lines covered (89.45%)

337.33 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
88.89
-11.11% src/metrics/runtime/request-metrics.ts
Jobs
ID Job ID Ran Files Coverage
1 25191489670.1 30 Apr 2026 10:02PM UTC 31
88.1
GitHub Action Run
Source Files on build 25191489670
  • Tree
  • List 31
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25191489670
  • 13ee175e on github
  • Prev Build on main (#25178988851)
  • Next Build on main (#25196402615)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc