"live calls" view counts 4xx responses as success
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 11.5k
- Forks
- 1.4k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 53
Description
## Bug Report
### What is the issue?
In the "live calls" view for a deployment, it appears that the success rate calculation appears to not count 404 errors against the success rate. This leads to the disconcerting effect of 10qps of 404 traffic being accounted as "100% successful"
### How can it be reproduced?
Send a large number of requests to a meshed service for a nonexistent path. :)
### Logs, error output, etc


(You'll have to take it on faith that the second screenshot there elides a very large number of 404s. :)
#### `linkerd check` output
```text
kubernetes-api
--------------
√ can initialize the client
√ can query the Kubernetes API
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version
linkerd-config
--------------
√ control plane Namespace exists
√ control plane ClusterRoles exist
√ control plane ClusterRoleBindings exist
√ control plane ServiceAccounts exist
√ control plane CustomResourceDefinitions exist
√ control plane MutatingWebhookConfigurations exist
√ control plane ValidatingWebhookConfigurations exist
√ control plane PodSecurityPolicies exist
linkerd-existence
-----------------
√ 'linkerd-config' config map exists
√ heartbeat ServiceAccount exist
√ control plane replica sets are ready
√ no unschedulable pods
√ controller pod is running
√ can initialize the client
√ can query the control plane API
linkerd-api
-----------
√ control plane pods are ready
√ control plane self-check
√ [kubernetes] control plane can talk to Kubernetes
√ [prometheus] control plane can talk to Prometheus
√ no invalid service profiles
linkerd-version
---------------
√ can determine the latest version
√ cli is up-to-date
control-plane-version
---------------------
√ control plane is up-to-date
√ control plane and cli versions match
Status check results are √```
### Environment
- Kubernetes Version:
```
version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.7-gke.24", GitCommit:"2ce02ef1754a457ba464ab87dba9090d90cf0468", GitTreeState:"clean", BuildDate:"2019-08-12T22:05:28Z", GoVersion:"go1.11.5b4", Compiler:"gc", Platform:"linux/amd64"}
```
- Cluster Environment: GKE
- Host OS: GKE COS
- Linkerd version: edge-19.10.1
### Possible solution
### Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue concerns the deployment's “live calls” view and its success-rate calculation. Reproduce it by sending many requests to a meshed service on a nonexistent path, then trace how 4xx responses are accounted for. Done means 404 responses reduce the displayed success rate; no file or test is named in the report.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- observability
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100