Problems
How WizeLens learns what normal looks like for each service and endpoint, groups what is above normal into problems, and names a suspected cause.
The Problems page answers "is anything wrong right now, and why?" without a threshold to set. It uses plain statistics. There is no AI inside WizeLens.
What normal means
For every service (an API, a worker, a database, an outside host) and every endpoint, query, or call of it, WizeLens keeps three numbers per time bucket: error rate, p95 duration, and traffic. It compares each bucket with the same bucket in the 4 weeks before: the same hour of the same weekday. Monday morning is compared with Monday mornings, not with Sunday night.
A host that keeps less than two weeks (the hub keeps 7 days unless you start it with a longer --retention) compares with the
same hour on the 6 days before instead. WizeLens needs two earlier weeks (or days) with data before it judges anything.
Until then the page says it is learning.
A value is above normal when it is more than a few spreads above the mean of those earlier samples. The spread is their standard deviation, with a floor so a very steady history does not turn every wiggle into a problem. Very quiet moments are skipped: a bucket needs 10 requests, 5 failures, or 10 measured calls before it counts.
| Sensitivity | Spreads above normal |
|---|---|
| High | 2 |
| Medium (default) | 3 |
| Low | 4 |
Problems, not alarms
One slow database makes the API that calls it slow, and the API in front of that. Anomalies that start within 15 minutes of each other on services that call each other (the call map on the Services page) become one problem card. Ongoing problems come first.
Each card names a suspected cause, the most telling one it finds:
| Cause | What WizeLens saw |
|---|---|
| New release | A service in the problem started sending a new service.version just before it began |
| New error | An error group that did not happen in the week before started with it |
| Query | A query got slower, fails more, or runs far more often than normal |
| Downstream service | A service that the others call, and that calls none of them, is above normal too |
Open a card for each anomaly on a chart against its normal and the line it crossed, and links to the service, the error, or the database.
Tell WizeLens your version
Problems can only name a release when spans carry service.version.
- Node:
createWizeLens({ serviceName: "orders-api", release: "2.4.0" }), or setWIZELENS_RELEASEorOTEL_SERVICE_VERSION. When you start the app with npm, the package version is used. - ASP.NET Core:
o.Release = "2.4.0", orWIZELENS_RELEASEorOTEL_SERVICE_VERSION. By default it is the app's informational version. - OpenTelemetry (OTLP): set the
service.versionresource attribute. The hub copies it onto every span of that service. - React: the
releaseprop, or what the build plugin sets.
Alerts and AI tools
In WizeLens Cloud, an alert rule can fire when error rate, p95, or requests is above normal for any service or endpoint. Every fired notice links to the problem it is part of, with its suspected cause. See WizeLens Cloud.
AI tools get list_problems on the hub and the cloud. See AI access.