1. Период агрегации
Если включить диагностику для виртуальной машины, все данные метрик будут сохранены в таблице учетных записей хранения.
Период агрегации указан в имени таблицы. Например: WADMetricsPT1HP10DV2S20190927
PT1H / PT1M: значение MetricAggregation PT1M и PT1H означает агрегацию за минуту и агрегацию за час
P10D: это означает, что оно содержит 10 днейданные
20190927: это начальный период агрегации.
2. Значение Rowkey
Как указано в официальной документации, оно имеет следующий формат: вычисление тиков по убыванию - это максимальное время тиков минус время начала периода агрегации.
Я возьмуодна запись в моей таблице в качестве образца:
RowKey -> :2518363979999999999__:005CProcessor:0020Information:0028:005FTotal:0029:005C:0025:0020User:0020Time
TIMESTAMP -> 2019-08-15T21:00:00.000Z
Во-первых, значение RowKey содержит несколько базовых латинских символов в Unicode .
:005C = \
:0020 = blank space
Итак, читаемый RowKey будет выглядеть так:
:2518363979999999999__:\Processor Information(-Total)\% User Time
Тогда давайте поговорим о числе - 2518363979999999999.
Как запись из таблицы«WADMetricsPT1HP10DV2S20190808», так:
В C # вы можете получить значение как:
DateTime.MaxValue.Ticks - (new DateTime(2019,08,08,0,0,0,DateTimeKind.Utc).Ticks)
В Java вы можете попробовать следующий код:
public class TickTest {
public static Instant MAX = Instant.parse("9999-12-31T23:59:59.999Z");
public static long toTicks(Instant start)
{
return toTicks(start, MAX);
}
public static long toTicks(Instant start, Instant end)
{
return Duration.between(start, end).toMillis() * 10000;
}
// Test
public static void main(String[] args) {
System.out.println(toTicks(Instant.parse("2019-08-08T00:00:00.000Z")));
}
}