Profile Decision Matrix#
Use this matrix to choose the right SMonitor profile and options for each stage of your library lifecycle.
Stage |
Recommended profile |
Typical options |
Why |
|---|---|---|---|
Local user-facing demos |
|
|
Keep output clear and calm. |
Feature development |
|
|
More context while iterating quickly. |
QA validation |
|
|
Catch contract and schema drift early. |
Debugging incidents |
|
|
Maximum diagnostic depth. |
Agent/automation parsing |
|
structured outputs, minimal noise |
Deterministic machine consumption. |
Performance triage |
|
|
Compare slow boundaries with low overhead. |
Quick rules#
Default to
userin production-facing runtime.Use
devfor day-to-day coding.Reserve
qastrict modes for CI and release gates.Enable
debugonly when diagnosing incidents.Keep profiling off by default for normal user workflows.
Runtime examples#
import smonitor
# Development
smonitor.configure(profile="dev", level="INFO", args_summary=True)
# QA gate
smonitor.configure(profile="qa", strict_signals=True, strict_schema=True)
# Profiling pass
smonitor.configure(profile="dev", profiling=True, profiling_sample_rate=0.2)
You are done when#
each environment (dev/qa/prod) has an explicit profile policy,
CI enforces strict modes in QA jobs,
user-facing runtime remains simple and actionable.