Get
Install the CLI on the runner
Linux or Windows. Once per image, or as the first step of the job. GitLab, TeamCity, Jenkins, Bamboo, and other CLI runners.
$curl -fsSL https://get.codebasepulse.com | shPre-production observability for .NET
Faster feedback on the CI runner, before production. The report holds the detail. Headline metrics appear on the pull request or in CI output. Guard can fail the job when a metric regresses.
Built by Ondřej Podhorný
Founder. Two decades in .NET.

Four modules. One pre-prod loop.
Four modules on the runner you already have. Depth in the report. Headlines on the PR or in the CI output. Guard if you want a gate.
Build
Duration, noise, and a picture of the run — so the next discussion is about a named result.
Test
Flaky, slow, and newly slow tests — identified, instead of rerunning the suite until it passes.
Performance
Benchmarks, OpenTelemetry, and profiler summaries — where it degraded. Pulse is not a trace viewer.
Codebase
Git bloat, LFS, broken filenames, quiet ownership. Ingest SARIF from any analyzer — Pulse is not another linter.
Report
The full picture of the run, in the product.
PR / CI
Headlines only — on the PR or in the job output where the agent ran.
Guard
Optional job gate on those headlines — after the baseline is trusted.
Guard
Optional. Watch first. Turn Guard on when the baseline is trusted. It fails the CI job — and the PR, if there is one — on a metric: build, tests, performance, or codebase. Not on the full report.
No gate until you ask for one. Ship the agent, read the report, turn Guard on when the numbers are worth failing the job over.
Same numbers as the PR comment or the CI output. Guard is a gate on the headlines, not a second product. The report still holds the picture of the run.
Build, tests, performance, or codebase. A noisy build, a newly-slow test, a perf signal, a SARIF spike — if the metric regresses, the job fails. The PR does not land either.
Security
pulse-agent transmits metadata to the product backend. Source code remains on the customer runner. Pre-production observability, not a production APM.
How it lands
Call pulse-agent after dotnet build and dotnet test. On GitHub and Azure DevOps, a marketplace Action or pipeline task is available.
Get
Linux or Windows. Once per image, or as the first step of the job. GitLab, TeamCity, Jenkins, Bamboo, and other CLI runners.
$curl -fsSL https://get.codebasepulse.com | shUse
Same command on every leftover platform. Set PULSE_TOKEN and call pulse-agent.
# TeamCity, GitLab, Jenkins, Bamboo, …# Environment variable: PULSE_TOKEN$dotnet build -bl:msbuild.binlog$dotnet test --logger trx --results-directory ./TestResults$pulse-agentObserve first. Guard is the optional gate — after the baseline is trusted.
Who it is for
Pricing
One run is one pulse command — build, test, perf, repo, owner, or sarif. Same commands on every plan. Yearly is 20% off. List prices are USD. Prices exclude VAT where it applies. Invoice first. Card later. No public trial — we land the first pipeline with you, then we invoice.
Start here
$1,820
per year
Most pipelines
$4,700
per year
When CI is loud
$9,500
per year
Volume & fit
Talk to us
custom quote
Fair policy: 1 run = 1 execution of any pulse command (build, test, perf, repo, owner, or sarif). Two commands in one pipeline job are two runs. Hitting the monthly cap sends a warning, then 5% more runs (at least 50) as a buffer — the job does not freeze on the last run. In-house / air-gapped is a waitlist. Join the waitlist.
Run estimate
People × CI runs per person per month × fires × pulse commands. One command is one run — pulse test after pulse build is two. Rough, not a quote. We bill runs, not seats.
Estimated runs / month
360
12 people × ~5 CI runs / person / month × ~3 CI fires × 2 runs (one per command).
That fits Starter.
Request StarterNext step
Submit a request. We help you land pulse-agent on one existing pipeline. We invoice when those runs are in use.
Agent runs on your CI runner. Security — metadata only. Source stays with you.