func addDocappenderOutputElasticsearchMetrics()

in internal/beatcmd/beat.go [688:724]


func addDocappenderOutputElasticsearchMetrics(ctx context.Context, v monitoring.Visitor, sm metricdata.ScopeMetrics) {
	var bulkRequestsCount, bulkRequestsAvailable int64
	var indexersCreated, indexersDestroyed int64
	for _, m := range sm.Metrics {
		switch m.Name {
		case "elasticsearch.bulk_requests.count":
			if value, ok := getScalarInt64(m.Data); ok {
				bulkRequestsCount = value
			}
		case "elasticsearch.bulk_requests.available":
			if value, ok := getScalarInt64(m.Data); ok {
				bulkRequestsAvailable = value
			}
		case "elasticsearch.indexer.created":
			if value, ok := getScalarInt64(m.Data); ok {
				indexersCreated = value
			}
		case "elasticsearch.indexer.destroyed":
			if value, ok := getScalarInt64(m.Data); ok {
				indexersDestroyed = value
			}
		}
	}

	v.OnRegistryStart()
	v.OnKey("bulk_requests")
	monitoring.ReportInt(v, "completed", bulkRequestsCount)
	monitoring.ReportInt(v, "available", bulkRequestsAvailable)
	v.OnRegistryFinished()

	v.OnRegistryStart()
	v.OnKey("indexers")
	monitoring.ReportInt(v, "created", indexersCreated)
	monitoring.ReportInt(v, "destroyed", indexersDestroyed)
	monitoring.ReportInt(v, "active", indexersCreated-indexersDestroyed+1)
	v.OnRegistryFinished()
}