diff --git a/userspace/libscap/engine/gvisor/gvisor.cpp b/userspace/libscap/engine/gvisor/gvisor.cpp index 6d300792fc1..e1ec0145cd0 100644 --- a/userspace/libscap/engine/gvisor/gvisor.cpp +++ b/userspace/libscap/engine/gvisor/gvisor.cpp @@ -189,7 +189,7 @@ static int32_t gvisor_get_stats(scap_engine_handle engine, scap_stats* stats) return engine.m_handle->get_stats(stats); } -static const struct metrics_v2* gvisor_get_stats_v2(scap_engine_handle engine, uint32_t flags, uint32_t* nstats, int32_t* rc) +static const metrics_v2* gvisor_get_stats_v2(scap_engine_handle engine, uint32_t flags, uint32_t* nstats, int32_t* rc) { return engine.m_handle->get_stats_v2(flags, nstats, rc); } diff --git a/userspace/libsinsp/metrics_collector.cpp b/userspace/libsinsp/metrics_collector.cpp index 9cf3e39f524..715ce91e68a 100644 --- a/userspace/libsinsp/metrics_collector.cpp +++ b/userspace/libsinsp/metrics_collector.cpp @@ -456,7 +456,7 @@ void metrics_collector::snapshot() } } -const std::string metrics_collector::convert_metric_to_prometheus_text(std::string metric_name, metrics_v2 metric) const +std::string metrics_collector::convert_metric_to_prometheus_text(std::string metric_name, metrics_v2 metric) { std::string prometheus_text = metric_name; prometheus_text += "{raw_name=\"" + std::string(metric.name) + "\",unit=\"" + std::string(metrics_unit_name_mappings[metric.unit]) \ diff --git a/userspace/libsinsp/metrics_collector.h b/userspace/libsinsp/metrics_collector.h index f7330101d2a..1de5041de03 100644 --- a/userspace/libsinsp/metrics_collector.h +++ b/userspace/libsinsp/metrics_collector.h @@ -107,13 +107,13 @@ class metrics_collector * * This method is a work in progress. */ - const std::string convert_metric_to_prometheus_text(std::string metric_name, metrics_v2 metric) const; + std::string convert_metric_to_prometheus_text(std::string metric_name, metrics_v2 metric); /*! \brief Method to convert memory units; tied to metrics_v2 definitions */ template - double convert_memory(metrics_v2_value_unit source_unit, metrics_v2_value_unit dest_unit, T val) + static double convert_memory(metrics_v2_value_unit source_unit, metrics_v2_value_unit dest_unit, T val) { double factor = 1; switch(source_unit) @@ -170,36 +170,29 @@ class metrics_collector } template - void set_new_metric(metrics_v2& metric, metrics_v2_value_type type, T val) + static void set_new_metric(metrics_v2& metric, metrics_v2_value_type type, T val) { switch (type) { case METRIC_VALUE_TYPE_U32: - metric.type = METRIC_VALUE_TYPE_U32; metric.value.u32 = static_cast(val); break; case METRIC_VALUE_TYPE_S32: - metric.type = METRIC_VALUE_TYPE_S32; metric.value.s32 = static_cast(val); break; case METRIC_VALUE_TYPE_U64: - metric.type = METRIC_VALUE_TYPE_U64; metric.value.u64 = static_cast(val); break; case METRIC_VALUE_TYPE_S64: - metric.type = METRIC_VALUE_TYPE_S64; metric.value.s64 = static_cast(val); break; case METRIC_VALUE_TYPE_D: - metric.type = METRIC_VALUE_TYPE_D; metric.value.d = static_cast(val); break; case METRIC_VALUE_TYPE_F: - metric.type = METRIC_VALUE_TYPE_F; metric.value.f = static_cast(val); break; case METRIC_VALUE_TYPE_I: - metric.type = METRIC_VALUE_TYPE_I; metric.value.i = static_cast(val); break; default: diff --git a/userspace/libsinsp/test/sinsp_metrics.ut.cpp b/userspace/libsinsp/test/sinsp_metrics.ut.cpp index 87f7b50e422..1aceb7ef4c3 100644 --- a/userspace/libsinsp/test/sinsp_metrics.ut.cpp +++ b/userspace/libsinsp/test/sinsp_metrics.ut.cpp @@ -33,7 +33,7 @@ TEST_F(sinsp_with_test_input, sinsp_metrics_collector) /* Snapshot current metrics and get the updated metrics_snapshot buffer */ uint32_t test_metrics_flags = (METRICS_V2_KERNEL_COUNTERS | METRICS_V2_LIBBPF_STATS | METRICS_V2_RESOURCE_UTILIZATION | METRICS_V2_STATE_COUNTERS); bool convert_memory_to_mb = true; - std::unique_ptr metrics_collector = std::make_unique(&m_inspector, test_metrics_flags, convert_memory_to_mb); + auto metrics_collector = std::make_unique(&m_inspector, test_metrics_flags, convert_memory_to_mb); metrics_collector->snapshot(); auto metrics_snapshot = metrics_collector->get_metrics(); /* Multiple calls */