-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO
94 lines (87 loc) · 4.08 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
When converting, also...
- Create 1s min,25%,50%,75%,90%,95%,99%,max,average,#-of-calls,total-bytes,#-of-errors (hearafter called stats) for each label and overall
- Create 5s stats for labels and overall
- Create 15s stats for labels and overall
- Create 30s stats for labels and overall
- Create 1m stats for labels and overall
- Create 5m stats for labels and overall
- Create 15m stats for labels and overall
- Create 30m stats for labels and overall
- Create 1h stats for labels and overall
- Create All time stats for labels and overall
- Create 100-frame stats for each label and overall (a frame is a variably-long slice of time, depending on the total length of the operation, from the first offset (that is, 0), to the sample with the maximum offset+duration. So, if a job takes 1 hour, then each frame is 6 minutes long).
- Create 600-frame stats for each label and overall
Besides individual log stats, there needs to be a way to tie these run logs into a project chronologically. Visiting the project overview page should show a couple of line graphs:
- a line graph with three different lines: average, median, and 90%. Each point in the line comes from the respective "all time" stats of the run logs relating to the project.
- a line (or area) graph with two lines: percent success and percent fail.
- If these were to be stair-stepped line or area graphs, then that would avoid the optical illusion created by slopes (the brain doesn't perceive the points as important with area graphs, but the spaces between as important, so sloped areas look "smaller")
Label selectors:
example labels for a log: project=tezad version=1.2.3 environment=qa nocache
example selector: project=tezad, version in (1.2.1, 1.2.2, 1.2.3), environment notin (dev, stage), nocache
means: select all logs with a project label with value = tezad, and has a version label with any three values 1.2.1, 1.2.2, or 1.2.3, and has an environment label without values dev or stage, and there exists a nocache label (value is ignored).
look at https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more.
Review body example:
{
"title": "Tezad 1.2.1 vs 1.3.0",
"notes": "This is a review of Tezad 1.2.1 (baseline) versus Tezad 1.3.0. There are some notable new features in the latest Tezad version, including...",
"baseLogLabelSelector": "project=tezad, version in (1.2.1, 1.3.0)",
"panels": [
{
"type": "jmeterDiffPanel",
"title": "HTTP API Response Times",
"notes": "Blah Blah Blah",
"logLabelSelector": "source=jtl",
"logDisplayOrder": "10 !12 !14 16 !18 !20",
"resolution": "1m",
}, {
"type": "jmeterPanel",
"title": "HTTP API Response Times",
"logLabelSelector": "source=jtl",
"logDisplayOrder": "10 !12 !14 16 !18 !20",
"resolution": "1m",
"charts": [
{
"type": "timeseries-minmidmax",
"name": "GET status Response Times",
"samples": {
"type": "include",
"filter": ["name: GET status", "success: true"],
"field": "Response Time"
},
"statsDisplayed": "p25 p50 p75"
}, {
"type": "timeseries-minmidmax",
"name": "GET game/{gameid} Response Times",
"samples": {
"type": "include",
"filter": ["name: GET game/{gameid}", "success: true"],
"field": "Response Time"
},
"statsDisplayed": "p25 p50 p75"
}, {
"type": "aggregate-table"
}
]
}, {
"type": "csvPanel",
"title": "Async Job Times",
"logLabelSelector": "source=asynccsv",
"logDisplayOrder": "11 !13 !15 17 !19 !21",
"resolution": "individual",
"charts": [
{
"type": "aggregate",
"name": "Game verification job times",
"samples": {
"type": "include",
"filter": ["name:GameVerification"],
"field": "start2finish"
},
"statsDisplayed": "p25 p50 p75 p90 p95 p99 avg"
}
]
}
]
}
Change millisOffset to offset
Change millisElapsed to duration