[dpdk-dev] [PATCH v3 1/3] lib: add information metrics library
Pattan, Reshma
reshma.pattan at intel.com
Fri Nov 4 17:42:50 CET 2016
Hi,
Few comments below.
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Remy Horton
> Sent: Friday, November 4, 2016 3:36 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v3 1/3] lib: add information metrics library
>
> This patch adds a new information metric library that allows other modules
> to register named metrics and update their values. It is intended to be
> independent of ethdev, rather than mixing ethdev and non-ethdev
> information in xstats.
>
> Signed-off-by: Remy Horton <remy.horton at intel.com>
> ---
> +int
> +
> +int
> +rte_metrics_get_values(int port_id,
> + struct rte_stat_value *values,
> + uint16_t capacity)
> +{
> + struct rte_metrics_meta_s *entry;
> + struct rte_metrics_data_s *stats;
> + const struct rte_memzone *memzone;
> + uint16_t idx_name;
> + int return_value;
> +
> + memzone = rte_memzone_lookup(RTE_METRICS_MEMZONE_NAME);
> + /* If not allocated, fail silently */
> + if (memzone == NULL)
> + return 0;
> + stats = memzone->addr;
> + rte_spinlock_lock(&stats->lock);
> +
> + if (values != NULL) {
> + if (capacity < stats->cnt_stats) {
> + rte_spinlock_unlock(&stats->lock);
> + return -ERANGE;
> + }
> + for (idx_name = 0; idx_name < stats->cnt_stats; idx_name++)
> {
> + entry = &stats->metadata[idx_name];
> + values[idx_name].key = idx_name;
> + values[idx_name].value = entry->value[port_id];
> + }
Here you also need to include logic to return values for port independent metrics.
> diff --git a/lib/librte_metrics/rte_metrics.h b/lib/librte_metrics/rte_metrics.h
> new file mode 100644
> index 0000000..6b75404
> --- /dev/null
> +++ b/lib/librte_metrics/rte_metrics.h
> @@ -0,0 +1,204 @@
> +/**
> + * Statistic name
> + */
> +struct rte_metric_name {
> + /** String describing statistic */
> + char name[RTE_METRICS_MAX_NAME_LEN];
> +};
> +
> +
> +/**
> + * Statistic name.
> + */
Need to correct the description to "stats values" or "metric values."
> +struct rte_stat_value {
Need to change the name to rte_metric_value.
> + /** Numeric identifier of statistic */
> + uint16_t key;
> + /** Value for statistic */
> + uint64_t value;
> +};
> +
> +
> +/**
> + * Initialises statistic module. This only has to be explicitly called
Typo < Initialises>
Thanks,
Reshma
More information about the dev
mailing list