sillsdev / sillsdev/serval

Monitor and handle longer running requests

Open
#582 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
3
Forks
2
Avg merge
3d 1h
Merged PRs (30d)
3

Description

These can be found with the following Prometheus query:
histogram_quantile(0.95, sum(rate(http_server_request_duration_seconds_bucket{namespace="serval",http_route!~"(.*current-build|.*builds/{buildId})"}[2m])) by (le, http_route))

This should be able to be used to identify long running queries when they happen (especially if an alert is placed, such as expression > 4. The question is, what to do then?

Some of the issues raised first appear to be about word graphs - #489, but others are long running insert pretranslations (makes sense) or get corpus? Likely there is some other function that is running a long time that is holding up the database access. This can really only be effectively investigated after tracing (#138) is implemented.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Prometheus query in the issue and review related issues #489 and #138. Investigate which requests are long-running and whether word graphs, insert pretranslations, corpus retrieval, or another function hold up database access. Done requires a decided handling approach, likely informed by tracing, but the issue does not yet define the implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, prometheus
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.