fix: inaccurate to report data.

This commit is contained in:
徐聪
2022-01-20 15:02:35 +08:00
parent 62e87cd115
commit 2d94e9f75d
2 changed files with 16 additions and 11 deletions

View File

@@ -140,7 +140,7 @@ func (b *HRPBoomer) convertBoomerTask(testcase *TestCase) *boomer.Task {
if stepData.stepType == stepTypeTransaction {
// transaction
// FIXME: support nested transactions
if stepData.elapsed != 0 { // only record when transaction ends
if step.ToStruct().Transaction.Type == transactionEnd { // only record when transaction ends
b.RecordTransaction(stepData.name, transactionSuccess, stepData.elapsed, 0)
transactionSuccess = true // reset flag for next transaction
}

View File

@@ -337,6 +337,17 @@ var (
)
)
// counter for total
var (
counterErrors = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "errors",
Help: "The errors of load testing",
},
[]string{"method", "name", "error"},
)
)
// summary for total
var (
summaryResponseTime = prometheus.NewSummaryVec(
@@ -399,13 +410,6 @@ var (
Help: "The accumulated number of failed transactions",
},
)
gaugeErrors = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "errors",
Help: "The errors of load testing",
},
[]string{"method", "name", "error"},
)
)
// NewPrometheusPusherOutput returns a PrometheusPusherOutput.
@@ -436,7 +440,8 @@ func (o *PrometheusPusherOutput) OnStart() {
gaugeAverageContentLength,
gaugeCurrentRPS,
gaugeCurrentFailPerSec,
gaugeErrors,
// counter for total
counterErrors,
// summary for total
summaryResponseTime,
// gauges for total
@@ -505,11 +510,11 @@ func (o *PrometheusPusherOutput) OnEvent(data map[string]interface{}) {
// errors
for _, requestError := range output.Errors {
gaugeErrors.WithLabelValues(
counterErrors.WithLabelValues(
requestError["method"].(string),
requestError["name"].(string),
requestError["error"].(string),
).Set(float64(requestError["occurrences"].(int64)))
).Add(float64(requestError["occurrences"].(int64)))
}
if err := o.pusher.Push(); err != nil {