Temporary Variables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- go
- Ambito
- observability
Direzione di ricerca
Non viene indicato alcun file di implementazione, test o punto di ingresso. Inizia tracciando il modo in cui mtail analizza le hidden variables e valuta le assegnazioni all’interno di un log-line block, quindi determina come verrebbero rappresentate e delimitate le variabili temporanee per riga. Il lavoro è completato quando il comportamento richiesto per le variabili temporanee è supportato e l’esempio Apache può raggruppare i response codes senza stato persistente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is it possible to store temporary variables in an mtail program for convenience? Hidden variables seem to be for storing state between lines, but these variables would just be used for transforming data from each line. For example, using the apache program in examples, if you wanted to transform response code to response code group to save on cardinality, is this the right way to do it?
# Parser for the common apache log format as follow.
# LogFormat "%h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-agent}i\"
counter apache_http_requests_total by request_method, http_version, status_code
counter apache_http_bytes_total by request_method, http_version, status_code
gauge apache_http_response_time by remote_host, request_method, request_uri, status_code, user_agent
gauge apache_http_response_size by remote_host, request_method, request_uri, status_code, user_agent
hidden text status_code_group
/^/ +
/(?P<remote_host>[0-9A-Za-z\.:-]+) / + # %h
/(?P<remote_logname>[0-9A-Za-z-]+) / + # %l
/(?P<remote_username>[0-9A-Za-z-]+) / + # %u
/\[(?P<timestamp>\d{2}\/\w{3}\/\d{4}:\d{2}:\d{2}:\d{2} (\+|-)\d{4})\] / + # %u
/"(?P<request_method>[A-Z]+) (?P<request_uri>\S+) (?P<http_version>HTTP\/[0-9\.]+)" / + # \"%r\"
/(?P<status_code>\d{3}) / + # %>s
/((?P<response_size>\d+)|-) / + # %b
/(?P<response_time>\d+) / + # %D
/"(?P<referer>\S+)" / + # \"%{Referer}i\"
/"(?P<user_agent>[[:print:]]+)"/ + # \"%{User-agent}i\"
/$/ {
strptime($timestamp, "02/Jan/2006:15:04:05 -0700") # for tests
if $status_code < 200 {
status_code_group = "2xx"
}
if $status_code >= 200 && $status_code < 300 {
status_code_group = "3xx"
}
if $status_code >= 300 && $status_code < 400 {
status_code_group = "4xx"
}
if $status_code >= 400 && $status_code < 500 {
status_code_group = "4xx"
}
if $status_code >= 500 {
status_code_group = "5xx"
}
apache_http_requests_total[$request_method][$http_version][$status_code_group]++
$response_size > 0 {
apache_http_bytes_total[$request_method][$http_version][$status_code_group] += $response_size
apache_http_response_size[$remote_host][$request_method][$request_uri][$status_code_group][$user_agent] += $response_size
}
apache_http_response_time[$remote_host][$request_method][$request_uri][$status_code_group][$user_agent] = $response_time
del status_code_group
}
- Lingua principale
- Go
- Stelle
- 4k
- Fork
- 394
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
agent-butler-finding bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
jordansmall/spindrift#6161 ·
I maintainer di solito rispondono entro 1 giorno
-
C-bug O-community X-blathers-untriaged
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
cockroachdb/cockroach#176210 · 1 commento ·
-
VLAgent `spec.k8sCollector.includePodLabels: false` has no effectForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
VictoriaMetrics/operator#2772 ·
I maintainer di solito rispondono entro 1 giorno
-
refactor Type/Improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
OpenNSW/nsw-srilanka#969 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Gaurav-Gosain/tuios#1316 ·
I maintainer di solito rispondono entro 1 giorno