]>
git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/jaeger-client-cpp/src/jaegertracing/metrics/StatsReporter.h
2 * Copyright (c) 2017 Uber Technologies, Inc.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef JAEGERTRACING_METRICS_STATSREPORTER_H
18 #define JAEGERTRACING_METRICS_STATSREPORTER_H
22 #include <unordered_map>
24 namespace jaegertracing
{
29 using TagMap
= std::unordered_map
<std::string
, std::string
>;
31 virtual ~StatsReporter() = default;
33 void incCounter(const std::string
& name
, int64_t delta
)
35 incCounter(name
, delta
, TagMap());
38 void recordTimer(const std::string
& name
, int64_t delta
)
40 recordTimer(name
, delta
, TagMap());
43 void updateGauge(const std::string
& name
, int64_t delta
)
45 updateGauge(name
, delta
, TagMap());
49 incCounter(const std::string
& name
, int64_t delta
, const TagMap
& tags
) = 0;
52 recordTimer(const std::string
& name
, int64_t time
, const TagMap
& tags
) = 0;
54 virtual void updateGauge(const std::string
& name
,
56 const TagMap
& tags
) = 0;
59 } // namespace metrics
60 } // namespace jaegertracing
62 #endif // JAEGERTRACING_METRICS_STATSREPORTER_H