Я пытаюсь записать сумму продаж моего сайта в datadog.Однако я получаю намного больше, чем фактическое значение.
Я использую клиент java-dogstatsd и spring.Мое приложение работает на 3 хостах.Я записал все метрики (используя метод sendWebOrder), но не повезло.
@EnableConfigurationProperties({DataDogProperties.class})
@Component
public class DDMetrics {
@Autowired
DataDogProperties dataDogProperties;
@Autowired
private NonBlockingStatsDClient statsd;
private Map<TopicPartition,Long> lags = new HashMap<>();
@Bean
private NonBlockingStatsDClient initClient() {
NonBlockingStatsDClient metricsClient = new NonBlockingStatsDClient(
dataDogProperties.getServiceName(),
dataDogProperties.getHostname(),
dataDogProperties.getPort();
return metricsClient;
}
public void sendWebOrder(WebOrder webOrder) {
List<String> tags = new ArrayList<>();
tags.add("transactionType:" + webOrder.getTransactionType());
tags.add("dataSourceType:" + webOrder.getDataSourceType()));
statsd.count("amount_count", webOrder.getAmount(), String.join(",", tags));
statsd.recordDistributionValue("amount_dist", webOrder.getAmount(), String.join(",", tags));
statsd.recordHistogramValue("amount_hist", webOrder.getAmount(), String.join(",", tags));
statsd.recordGaugeValue("amount_gauge", webOrder.getAmount(), String.join(",", tags));
statsd.incrementCounter("weborder", String.join(",", tags));
}
Я пытаюсь сгенерировать топлист списка данных по типу транзакции.Я не получаю правильную сумму ни в одной из метрик (пробовал в основном count, gauge и histogram.sum).Вот мой конфиг datadog:
{
"viz": "toplist",
"requests": [
{
"q": "top(sum:projecta.webtransactions.amount_histogram.sum{$TransactionType} by {transactiontype}, 10, 'sum', 'desc')",
"type": "area",
"style": {
"palette": "dog_classic",
"type": "solid",
"width": "normal"
},
"aggregator": "sum",
"conditional_formats": []
}
],
"autoscale": true
}
Что мне не хватает?Это правильный способ записи стоимости денег?Должен ли я сделать какой-либо накопительный пакет в конфигурации?Любая помощь приветствуется.