diff options
| author | chenzizhan <[email protected]> | 2023-09-05 14:05:14 +0800 |
|---|---|---|
| committer | chenzizhan <[email protected]> | 2023-09-05 14:05:14 +0800 |
| commit | 75a466cbe7f3d27c997a019f2b279b534c3d8549 (patch) | |
| tree | 81762e80348ed25357915c2da3dd0f6bfd2beba4 | |
| parent | ac98402e9656f2de0525043c1f47faea2cc4d896 (diff) | |
performance: very fast json. break: histogramrange
| -rw-r--r-- | include/fieldstat/fieldstat.h | 2 | ||||
| -rw-r--r-- | src/exporter/cjson_exporter.c | 88 | ||||
| -rw-r--r-- | src/fieldstat.c | 7 | ||||
| -rw-r--r-- | src/metrics/metric.c | 7 | ||||
| -rw-r--r-- | src/utils/example.json | 3237 | ||||
| -rw-r--r-- | src/utils/very_fast_json_writer.c | 146 | ||||
| -rw-r--r-- | src/utils/very_fast_json_writer.h | 24 | ||||
| -rw-r--r-- | test/CMakeLists.txt | 20 | ||||
| -rw-r--r-- | test/comparison.json | 12 | ||||
| -rw-r--r-- | test/profiling/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | test/profiling/main.c | 4 | ||||
| -rw-r--r-- | test/test_exporter_json.cpp | 26 |
12 files changed, 3520 insertions, 54 deletions
diff --git a/include/fieldstat/fieldstat.h b/include/fieldstat/fieldstat.h index 6d078c0..722b224 100644 --- a/include/fieldstat/fieldstat.h +++ b/include/fieldstat/fieldstat.h @@ -231,7 +231,7 @@ struct fieldstat_tag_list *fieldstat_get_shared_tags(const struct fieldstat *ins /* get the parameter max_n_cell of fieldstat_register_cube */ -int fieldstat_get_max_cell_num(const struct fieldstat *instance, int cube_id); +int fieldstat_get_max_cell_id(const struct fieldstat *instance, int cube_id); /* * @brief Get the value of a metric of a cell. diff --git a/src/exporter/cjson_exporter.c b/src/exporter/cjson_exporter.c index f7f7d77..f45619d 100644 --- a/src/exporter/cjson_exporter.c +++ b/src/exporter/cjson_exporter.c @@ -7,7 +7,7 @@ #include <time.h> #include <stddef.h> -#include "cjson/cJSON.h" +#include "utils/very_fast_json_writer.h" #include "fieldstat.h" #include "fieldstat_exporter.h" @@ -77,9 +77,9 @@ struct cell_iter { const struct fieldstat *instance; }; -struct cjson_tag_field_pair { - cJSON *cjson_tags; - cJSON *cjson_fields; +struct json_tag_field_pair { + struct json_writer *cjson_tags; + struct json_writer *cjson_fields; }; void kv_pair_free(struct export_kv_pair *pair) { @@ -240,25 +240,25 @@ struct export_kv_pair *cell_query_with_iter(const struct cell_iter *iter, int me return NULL; } -void kv_pair_add_to_cjson(const struct export_kv_pair *pairs, cJSON *cjson_pair) +void kv_pair_write_to_json(const struct export_kv_pair *pairs, struct json_writer *writer) { switch (pairs->type) { case TAG_INTEGER: - cJSON_AddNumberToObject(cjson_pair, pairs->key, pairs->value_longlong); + json_writer_longlong_field(writer, pairs->key, pairs->value_longlong); break; case TAG_DOUBLE: - cJSON_AddNumberToObject(cjson_pair, pairs->key, pairs->value_double); + json_writer_double_field(writer, pairs->key, pairs->value_double); break; case TAG_CSTRING: - cJSON_AddStringToObject(cjson_pair, pairs->key, pairs->value_str); + json_writer_str_field(writer, pairs->key, pairs->value_str, strlen(pairs->value_str)); break; default: break; } } -void tag_list_append_to_tag_object(const struct fieldstat_tag_list *tag_list, cJSON *cjson_tags) +void tag_list_append_to_tag_object(const struct fieldstat_tag_list *tag_list, struct json_writer *cjson_tags) { size_t tag_list_len = tag_list->n_tag; struct export_kv_pair pairs = {0}; @@ -284,7 +284,7 @@ void tag_list_append_to_tag_object(const struct fieldstat_tag_list *tag_list, cJ default: break; } - kv_pair_add_to_cjson(&pairs, cjson_tags); + kv_pair_write_to_json(&pairs, cjson_tags); } } @@ -320,41 +320,44 @@ void kv_pair_free_list(struct export_kv_pair *pairs, size_t len) } // return 1 if added, 0 if not added -int cjson_map_add(struct cjson_tag_field_pair *tag_field_pair, const struct cell_iter *iter) +int cjson_map_add(struct json_tag_field_pair *tag_field_pair, const struct cell_iter *iter) { - cJSON *cjson_fields = NULL; + struct json_writer *writer = NULL; + for (int i = 0; i <= iter->max_metric_id; i++) { struct export_kv_pair *field = cell_query_with_iter(iter, i); if (field == NULL) { continue; } - if (cjson_fields == NULL) { - cjson_fields = cJSON_CreateObject(); + if (writer == NULL) { + writer = json_writer_init(); } - kv_pair_add_to_cjson(field, cjson_fields); + kv_pair_write_to_json(field, writer); kv_pair_free(field); } - if (cjson_fields == NULL) { + + if (writer == NULL) { return 0; } - tag_field_pair->cjson_fields = cjson_fields; + tag_field_pair->cjson_fields = writer; struct export_kv_pair *tag_list; size_t tag_list_len; cell_iter_read_tag_list(iter, &tag_list, &tag_list_len); - cJSON *cjson_tags = cJSON_CreateObject(); + struct json_writer *writer_tag = json_writer_init(); for (int i = 0; i < tag_list_len; i++) { - kv_pair_add_to_cjson(&tag_list[i], cjson_tags); + kv_pair_write_to_json(&tag_list[i], writer_tag); } kv_pair_free_list(tag_list, tag_list_len); - tag_field_pair->cjson_tags = cjson_tags; + tag_field_pair->cjson_tags = writer_tag; return 1; } -struct cjson_tag_field_pair *read_tag_and_field(const struct fieldstat *instance, size_t *n_pair_out) +struct json_tag_field_pair *read_tag_and_field(const struct fieldstat *instance, size_t *n_pair_out) { + // clock_t prepare_start = clock(); int *cube_id = NULL; int cube_id_len = 0; fieldstat_get_cubes(instance, &cube_id, &cube_id_len); @@ -364,7 +367,7 @@ struct cjson_tag_field_pair *read_tag_and_field(const struct fieldstat *instance size_t n_cell_total = 0; for (int i = 0; i < cube_id_len; i++) { - n_cell_total += fieldstat_get_max_cell_num(instance, cube_id[i]); + n_cell_total += fieldstat_get_max_cell_id(instance, cube_id[i]); } free(cube_id); if (n_cell_total == 0) { @@ -372,21 +375,30 @@ struct cjson_tag_field_pair *read_tag_and_field(const struct fieldstat *instance } struct cell_iter *iter = cell_iter_new(instance); - struct cjson_tag_field_pair *tag_field_pair = calloc(n_cell_total, sizeof(struct cjson_tag_field_pair)); + struct json_tag_field_pair *tag_field_pair = calloc(n_cell_total, sizeof(struct json_tag_field_pair)); int i = 0; + // clock_t prepare_end = clock(); + // printf("[czz]prepare time: %ld us\n", prepare_end - prepare_start); + // clock_t read_start = clock(); + // int next_num = 0; while (cell_iter_next(iter)) { + // next_num++; if (cjson_map_add(&tag_field_pair[i], iter) == 0) { continue; } i++; } + // clock_t read_end = clock(); + // printf("[czz]read time: %ld us\n", read_end - read_start); *n_pair_out = i; + // printf("[czz] total cell: %zu, the valid cell: %d, loop num%d\n", n_cell_total, i, next_num); + cell_iter_free(iter); return tag_field_pair; } -void fieldstat_json_exporter_write_global_tags(const struct fieldstat_json_exporter *exporter, struct cjson_tag_field_pair *tag_field_pair_arr, size_t arr_len) +void fieldstat_json_exporter_write_global_tags(const struct fieldstat_json_exporter *exporter, struct json_tag_field_pair *tag_field_pair_arr, size_t arr_len) { if (exporter->global_tag_list == NULL) { return; @@ -465,7 +477,7 @@ void fieldstat_json_exporter_export_array(const struct fieldstat_json_exporter * const struct fieldstat *instance = exporter->instance; size_t n_pair; - struct cjson_tag_field_pair *tag_field_pair = read_tag_and_field(instance, &n_pair); + struct json_tag_field_pair *tag_field_pair = read_tag_and_field(instance, &n_pair); if (tag_field_pair == NULL || n_pair == 0) { free(tag_field_pair); // tag_field_pair is not NULL when there are registered metrics but no valid cells *output = NULL; @@ -476,18 +488,22 @@ void fieldstat_json_exporter_export_array(const struct fieldstat_json_exporter * fieldstat_json_exporter_write_global_tags(exporter, tag_field_pair, n_pair); char **cjson_str_arr = (char **)malloc(sizeof(char *) * n_pair); - cJSON *cjson_root; + for (int i = 0; i < n_pair; i++) { - struct cjson_tag_field_pair *current = &tag_field_pair[i]; - cjson_root = cJSON_CreateObject(); - - cJSON_AddStringToObject(cjson_root, "name", exporter->name ? exporter->name : "-"); - cJSON_AddItemToObject(cjson_root, "tags", current->cjson_tags); - cJSON_AddItemToObject(cjson_root, "fields", current->cjson_fields); - cJSON_AddNumberToObject(cjson_root, "timestamp", get_current_time()); - - char *cjson_str = cJSON_PrintUnformatted(cjson_root); - cJSON_Delete(cjson_root); + struct json_tag_field_pair *current = &tag_field_pair[i]; + struct json_writer *root = json_writer_init(); + + json_writer_start_map(root); + const char *tmp_name = exporter->name ? exporter->name : "-"; + json_writer_str_field(root, "name", tmp_name, strlen(tmp_name)); + json_writer_object_item(root, "tags", current->cjson_tags); + json_writer_object_item(root, "fields", current->cjson_fields); + json_writer_longlong_field(root, "timestamp", get_current_time()); + json_writer_end_map(root); + + char *cjson_str; + size_t cjson_str_len; + json_writer_finish(root, &cjson_str, &cjson_str_len); cjson_str_arr[i] = cjson_str; // user are responsible to free the cjson_str } diff --git a/src/fieldstat.c b/src/fieldstat.c index 19846d5..b044294 100644 --- a/src/fieldstat.c +++ b/src/fieldstat.c @@ -3,6 +3,7 @@ #include <assert.h> #include <stdlib.h> #include <stdio.h> +#include <time.h> #include "cjson/cJSON.h" #include "uthash.h" @@ -1161,12 +1162,14 @@ void fieldstat_cube_read_cell(const struct fieldstat *instance, int cube_id, int *n_cell = n_cell_ret; } -int fieldstat_get_max_cell_num(const struct fieldstat *instance, int cube_id) +int fieldstat_get_max_cell_id(const struct fieldstat *instance, int cube_id) { const struct fs_cube *cube = instance->cube[cube_id]; if (cube == NULL) { return -1; } - return cube->max_n_cell; + int max_id; + (void)cell_manager_dump(cube->cell_manager, &max_id); + return max_id; }
\ No newline at end of file diff --git a/src/metrics/metric.c b/src/metrics/metric.c index 0b6c025..ef9a472 100644 --- a/src/metrics/metric.c +++ b/src/metrics/metric.c @@ -798,7 +798,12 @@ struct metric *metric_histogram_new(const char *name, long long lowest_trackable int metric_histogram_record(struct metric *pthis, int cell_id, long long value) { struct metric_measure_data *data = metric_find_or_new_cell(pthis, cell_id); - + if (value > data->hdr->highest_trackable_value) { + value = data->hdr->highest_trackable_value; + } + if (value < data->hdr->lowest_discernible_value) { + value = data->hdr->lowest_discernible_value; + } bool ret = hdr_record_value(data->hdr, value); if (!ret) { return -1; diff --git a/src/utils/example.json b/src/utils/example.json new file mode 100644 index 0000000..eeda73a --- /dev/null +++ b/src/utils/example.json @@ -0,0 +1,3237 @@ +[ + { + "name": "-", + "tags": { + "oghiqfmzhl": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2038878, + "hll_": 408 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "elhhzjchpd": 100.500000, + "gwraatzzwp": "mfbfjkncvk", + "vcnvbmasid": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1974742, + "hll_": 392 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "cnjkphclff": 42, + "gfylqvjzha": "vrlyauuzdr", + "keecbpdipu": 100.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2046973, + "hll_": 409 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "nkuewhsqmg": "buqcljjivs", + "vtrrbljptn": 100.500000, + "wmdkqtbxix": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1944787, + "hll_": 370 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ucftpwctgt": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1963458, + "hll_": 380 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "pbpiwuqzdz": "bdubzvafsp", + "qpqwuzifwo": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2027419, + "hll_": 400 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "qscdxrjmow": "rxsjybldbe", + "shared_tag": 0 + }, + "fields": { + "counter_": 1923784, + "hll_": 395 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "endtomfgdw": "wfcgpxiqvk", + "shared_tag": 0 + }, + "fields": { + "counter_": 2128113, + "hll_": 413 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "egurfwcsfm": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2059320, + "hll_": 404 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dirbfcriqi": 42, + "xxvrwctdsn": "ogvbpkxlpg", + "shared_tag": 0 + }, + "fields": { + "counter_": 1923227, + "hll_": 387 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ciohordtqk": "wcsgspqoqm", + "sboaguwnny": "xnzlgdgwpb", + "shared_tag": 0 + }, + "fields": { + "counter_": 1839005, + "hll_": 377 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "embaqwqwpq": "suebnvfgvj", + "iddvhrrdsy": "qhkleewhxt", + "xxpitcvogr": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2325603, + "hll_": 459 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fwzqfjmafa": "rrwsofsbcn", + "uvqhffbsaq": 42.500000, + "wpqcacehch": 100, + "shared_tag": 0 + }, + "fields": { + "counter_": 1875269, + "hll_": 396 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "llnmpapqfw": "hopkmcoqhn", + "sarcbynecd": "ggxxpklore", + "shared_tag": 0 + }, + "fields": { + "counter_": 2064670, + "hll_": 394 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fnxztqrsvb": 42, + "pkyhsenbpp": 100, + "qtpddbuotb": 73, + "shared_tag": 0 + }, + "fields": { + "counter_": 1954890, + "hll_": 397 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "cwivrfxjuj": 42.500000, + "ddntgeiqvd": 100.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2060762, + "hll_": 406 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "aehhsveymq": 42, + "xhlrnunyfd": 100.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1947035, + "hll_": 403 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "udjsuyibye": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1833551, + "hll_": 390 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "xnupycfgcu": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2050914, + "hll_": 390 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "iixqmbfjxj": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2013051, + "hll_": 402 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "igskmvrzgf": "vrftwapdtu", + "tpbztygnsr": "ajjngcomik", + "shared_tag": 0 + }, + "fields": { + "counter_": 1815731, + "hll_": 375 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ddwyvvburc": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2008408, + "hll_": 403 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fjqsjxvkqd": 73, + "hbasjeuyga": 42, + "oubutpnimu": 100.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2123861, + "hll_": 406 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gyjgfdxvtn": "nneslsplwu", + "irjcddsozo": 42, + "iupfxlzbkn": "kwppanltcf", + "shared_tag": 0 + }, + "fields": { + "counter_": 2034783, + "hll_": 399 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "zsdwssznov": "ruypcnjulk", + "shared_tag": 0 + }, + "fields": { + "counter_": 1992357, + "hll_": 401 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "frkmlnozjk": 42.500000, + "qpxrjxkitz": 100, + "xacbhhkicq": 73.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2130126, + "hll_": 430 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "kobmeahkgc": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1945924, + "hll_": 407 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "nublmoiitn": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2023293, + "hll_": 394 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "kchzdflilr": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1909496, + "hll_": 388 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fwltwjwnnv": 42, + "wjckdmeouu": "hyvhgvwujb", + "shared_tag": 0 + }, + "fields": { + "counter_": 1940500, + "hll_": 406 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "lefszbexra": "petvhqnddj", + "shared_tag": 0 + }, + "fields": { + "counter_": 1983040, + "hll_": 389 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "vhesnkqxmw": "qidrvmhlub", + "shared_tag": 0 + }, + "fields": { + "counter_": 1874603, + "hll_": 379 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "etokyxhoac": "wdvmxxrdry", + "rwblnsadeu": "uumoqcdrub", + "xlmndqtukw": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2083312, + "hll_": 409 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "hxdipfzwsw": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1976020, + "hll_": 385 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dvjjafqzzx": "cxdzncqgjl", + "shared_tag": 0 + }, + "fields": { + "counter_": 2109860, + "hll_": 410 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ayulyeimuo": 100.500000, + "ehzriicfsk": 73, + "hjouvsuyoy": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1751619, + "hll_": 350 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ijvwcyaubw": 42, + "wpjvygehlj": 100, + "shared_tag": 0 + }, + "fields": { + "counter_": 1915128, + "hll_": 390 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "jjrqopubjg": 100.500000, + "robdeyqcrg": "uaiihveixw", + "ryktheyent": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1823248, + "hll_": 358 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gtqvvhbgsd": 42, + "popkvxfgvi": "etcmkbljop", + "shared_tag": 0 + }, + "fields": { + "counter_": 2068342, + "hll_": 430 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "arzowkkyhi": 100, + "wlrbbmqbhc": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 2238986, + "hll_": 439 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "idjcxjhrnx": "xmjcxohqan", + "mwpmhwdvth": "fqueeexgru", + "xdrmgzebhn": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2032231, + "hll_": 426 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "frpjvoaxdp": 100, + "qvuygpnkaz": 42.500000, + "wmjobmsksk": "ojnewxgxnn", + "shared_tag": 0 + }, + "fields": { + "counter_": 2073405, + "hll_": 402 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gynkrrefxs": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1951991, + "hll_": 395 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dtxjbmyppp": "auxnspusgd", + "jnadqhdcnv": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1752494, + "hll_": 363 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dgyrqscczy": "nvqqcqcjit", + "pckjcazxdr": 100.500000, + "uzmxnafame": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2126071, + "hll_": 423 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "bppleqlwph": 100, + "cxamludfyk": "ruowzgiooo", + "gkbbipzzrz": 42.500000, + "shared_tag": 0 + }, + "fields": { + "counter_": 1948441, + "hll_": 383 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ebeocfufts": "dixtigsiee", + "mzevypzvje": 100.500000, + "wsiqyoygyx": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 2059598, + "hll_": 404 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "mlejuukwci": 42.500000, + "xubumenmey": "tdrmydiajx", + "shared_tag": 0 + }, + "fields": { + "counter_": 2029112, + "hll_": 399 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "eqmrjowrgh": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1878192, + "hll_": 380 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ytdlcgdewh": 42, + "shared_tag": 0 + }, + "fields": { + "counter_": 1776284, + "hll_": 365 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ijvwcyaubw": 42, + "wpjvygehlj": 100, + "shared_tag": 1 + }, + "fields": { + "topk1": 2103903, + "topk2": 2103903 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "elhhzjchpd": 100.500000, + "gwraatzzwp": "mfbfjkncvk", + "vcnvbmasid": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2043666, + "topk2": 2043666 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ddwyvvburc": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1811586, + "topk2": 1811586 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "embaqwqwpq": "suebnvfgvj", + "iddvhrrdsy": "qhkleewhxt", + "xxpitcvogr": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2270694, + "topk2": 2270694 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "idjcxjhrnx": "xmjcxohqan", + "mwpmhwdvth": "fqueeexgru", + "xdrmgzebhn": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1893031, + "topk2": 1893031 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ciohordtqk": "wcsgspqoqm", + "sboaguwnny": "xnzlgdgwpb", + "shared_tag": 1 + }, + "fields": { + "topk1": 2104904, + "topk2": 2104904 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "aehhsveymq": 42, + "xhlrnunyfd": 100.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2048518, + "topk2": 2048518 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "mlejuukwci": 42.500000, + "xubumenmey": "tdrmydiajx", + "shared_tag": 1 + }, + "fields": { + "topk1": 1884047, + "topk2": 1884047 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "eqmrjowrgh": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2029571, + "topk2": 2029571 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gyjgfdxvtn": "nneslsplwu", + "irjcddsozo": 42, + "iupfxlzbkn": "kwppanltcf", + "shared_tag": 1 + }, + "fields": { + "topk1": 1996771, + "topk2": 1996771 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "egurfwcsfm": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1923600, + "topk2": 1923600 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "udjsuyibye": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1938870, + "topk2": 1938870 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fnxztqrsvb": 42, + "pkyhsenbpp": 100, + "qtpddbuotb": 73, + "shared_tag": 1 + }, + "fields": { + "topk1": 1909748, + "topk2": 1909748 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gynkrrefxs": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2007154, + "topk2": 2007154 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "pbpiwuqzdz": "bdubzvafsp", + "qpqwuzifwo": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2153718, + "topk2": 2153718 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dtxjbmyppp": "auxnspusgd", + "jnadqhdcnv": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2016861, + "topk2": 2016861 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ebeocfufts": "dixtigsiee", + "mzevypzvje": 100.500000, + "wsiqyoygyx": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2173258, + "topk2": 2173258 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ayulyeimuo": 100.500000, + "ehzriicfsk": 73, + "hjouvsuyoy": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2029366, + "topk2": 2029366 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "kchzdflilr": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1963036, + "topk2": 1963036 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "bppleqlwph": 100, + "cxamludfyk": "ruowzgiooo", + "gkbbipzzrz": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1858016, + "topk2": 1858016 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "hxdipfzwsw": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1903682, + "topk2": 1903682 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gtqvvhbgsd": 42, + "popkvxfgvi": "etcmkbljop", + "shared_tag": 1 + }, + "fields": { + "topk1": 1974475, + "topk2": 1974475 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ytdlcgdewh": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2018327, + "topk2": 2018327 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "endtomfgdw": "wfcgpxiqvk", + "shared_tag": 1 + }, + "fields": { + "topk1": 1979593, + "topk2": 1979593 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fjqsjxvkqd": 73, + "hbasjeuyga": 42, + "oubutpnimu": 100.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2072417, + "topk2": 2072417 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "iixqmbfjxj": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1949472, + "topk2": 1949472 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "cwivrfxjuj": 42.500000, + "ddntgeiqvd": 100.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1994724, + "topk2": 1994724 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "kobmeahkgc": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1937057, + "topk2": 1937057 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dgyrqscczy": "nvqqcqcjit", + "pckjcazxdr": 100.500000, + "uzmxnafame": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1901545, + "topk2": 1901545 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "igskmvrzgf": "vrftwapdtu", + "tpbztygnsr": "ajjngcomik", + "shared_tag": 1 + }, + "fields": { + "topk1": 2118127, + "topk2": 2118127 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "frpjvoaxdp": 100, + "qvuygpnkaz": 42.500000, + "wmjobmsksk": "ojnewxgxnn", + "shared_tag": 1 + }, + "fields": { + "topk1": 2465337, + "topk2": 2465337 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "qscdxrjmow": "rxsjybldbe", + "shared_tag": 1 + }, + "fields": { + "topk1": 1914554, + "topk2": 1914554 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "zsdwssznov": "ruypcnjulk", + "shared_tag": 1 + }, + "fields": { + "topk1": 2039764, + "topk2": 2039764 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "arzowkkyhi": 100, + "wlrbbmqbhc": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1860591, + "topk2": 1860591 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dvjjafqzzx": "cxdzncqgjl", + "shared_tag": 1 + }, + "fields": { + "topk1": 2028755, + "topk2": 2028755 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "cnjkphclff": 42, + "gfylqvjzha": "vrlyauuzdr", + "keecbpdipu": 100.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1992907, + "topk2": 1992907 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "lefszbexra": "petvhqnddj", + "shared_tag": 1 + }, + "fields": { + "topk1": 2123368, + "topk2": 2123368 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ucftpwctgt": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2000264, + "topk2": 2000264 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "llnmpapqfw": "hopkmcoqhn", + "sarcbynecd": "ggxxpklore", + "shared_tag": 1 + }, + "fields": { + "topk1": 2016338, + "topk2": 2016338 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "jjrqopubjg": 100.500000, + "robdeyqcrg": "uaiihveixw", + "ryktheyent": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 1913900, + "topk2": 1913900 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "dirbfcriqi": 42, + "xxvrwctdsn": "ogvbpkxlpg", + "shared_tag": 1 + }, + "fields": { + "topk1": 2127183, + "topk2": 2127183 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "xnupycfgcu": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2043396, + "topk2": 2043396 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "nublmoiitn": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1952818, + "topk2": 1952818 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "frkmlnozjk": 42.500000, + "qpxrjxkitz": 100, + "xacbhhkicq": 73.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1881045, + "topk2": 1881045 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fwltwjwnnv": 42, + "wjckdmeouu": "hyvhgvwujb", + "shared_tag": 1 + }, + "fields": { + "topk1": 1861319, + "topk2": 1861319 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "nkuewhsqmg": "buqcljjivs", + "vtrrbljptn": 100.500000, + "wmdkqtbxix": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 2167340, + "topk2": 2167340 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "etokyxhoac": "wdvmxxrdry", + "rwblnsadeu": "uumoqcdrub", + "xlmndqtukw": 42, + "shared_tag": 1 + }, + "fields": { + "topk1": 2082384, + "topk2": 2082384 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "fwzqfjmafa": "rrwsofsbcn", + "uvqhffbsaq": 42.500000, + "wpqcacehch": 100, + "shared_tag": 1 + }, + "fields": { + "topk1": 2188625, + "topk2": 2188625 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "oghiqfmzhl": 42.500000, + "shared_tag": 1 + }, + "fields": { + "topk1": 1848107, + "topk2": 1848107 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "vhesnkqxmw": "qidrvmhlub", + "shared_tag": 1 + }, + "fields": { + "topk1": 2027138, + "topk2": 2027138 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "etokyxhoac": "wdvmxxrdry", + "rwblnsadeu": "uumoqcdrub", + "xlmndqtukw": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2065546, + "hll_": 436 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ebeocfufts": "dixtigsiee", + "mzevypzvje": 100.500000, + "wsiqyoygyx": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2106772, + "hll_": 409 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "elhhzjchpd": 100.500000, + "gwraatzzwp": "mfbfjkncvk", + "vcnvbmasid": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2027949, + "hll_": 418 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "lefszbexra": "petvhqnddj", + "shared_tag": 2 + }, + "fields": { + "counter_": 2066903, + "hll_": 424 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ijvwcyaubw": 42, + "wpjvygehlj": 100, + "shared_tag": 2 + }, + "fields": { + "counter_": 1789773, + "hll_": 369 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "mlejuukwci": 42.500000, + "xubumenmey": "tdrmydiajx", + "shared_tag": 2 + }, + "fields": { + "counter_": 1953446, + "hll_": 389 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "bppleqlwph": 100, + "cxamludfyk": "ruowzgiooo", + "gkbbipzzrz": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1896093, + "hll_": 380 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "aehhsveymq": 42, + "xhlrnunyfd": 100.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2037000, + "hll_": 428 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "eqmrjowrgh": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2082609, + "hll_": 395 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "xnupycfgcu": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2197147, + "hll_": 424 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ucftpwctgt": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2038962, + "hll_": 432 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "udjsuyibye": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2131586, + "hll_": 430 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gynkrrefxs": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2020265, + "hll_": 390 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "gyjgfdxvtn": "nneslsplwu", + "irjcddsozo": 42, + "iupfxlzbkn": "kwppanltcf", + "shared_tag": 2 + }, + "fields": { + "counter_": 2003094, + "hll_": 412 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "cwivrfxjuj": 42.500000, + "ddntgeiqvd": 100.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1843277, + "hll_": 387 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "ciohordtqk": "wcsgspqoqm", + "sboaguwnny": "xnzlgdgwpb", + "shared_tag": 2 + }, + "fields": { + "counter_": 2148499, + "hll_": 424 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "pbpiwuqzdz": "bdubzvafsp", + "qpqwuzifwo": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1949249, + "hll_": 385 + }, + "timestamp": 1693820724845 + }, + { + "name": "-", + "tags": { + "vhesnkqxmw": "qidrvmhlub", + "shared_tag": 2 + }, + "fields": { + "counter_": 2116284, + "hll_": 411 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dirbfcriqi": 42, + "xxvrwctdsn": "ogvbpkxlpg", + "shared_tag": 2 + }, + "fields": { + "counter_": 1910954, + "hll_": 380 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwzqfjmafa": "rrwsofsbcn", + "uvqhffbsaq": 42.500000, + "wpqcacehch": 100, + "shared_tag": 2 + }, + "fields": { + "counter_": 1859111, + "hll_": 383 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fjqsjxvkqd": 73, + "hbasjeuyga": 42, + "oubutpnimu": 100.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1898979, + "hll_": 377 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "idjcxjhrnx": "xmjcxohqan", + "mwpmhwdvth": "fqueeexgru", + "xdrmgzebhn": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2087000, + "hll_": 412 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nublmoiitn": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1926425, + "hll_": 390 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fnxztqrsvb": 42, + "pkyhsenbpp": 100, + "qtpddbuotb": 73, + "shared_tag": 2 + }, + "fields": { + "counter_": 1893383, + "hll_": 369 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "iixqmbfjxj": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2074015, + "hll_": 406 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "cnjkphclff": 42, + "gfylqvjzha": "vrlyauuzdr", + "keecbpdipu": 100.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2094498, + "hll_": 422 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "jjrqopubjg": 100.500000, + "robdeyqcrg": "uaiihveixw", + "ryktheyent": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2148309, + "hll_": 411 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "embaqwqwpq": "suebnvfgvj", + "iddvhrrdsy": "qhkleewhxt", + "xxpitcvogr": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2034031, + "hll_": 397 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gtqvvhbgsd": 42, + "popkvxfgvi": "etcmkbljop", + "shared_tag": 2 + }, + "fields": { + "counter_": 1968689, + "hll_": 410 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "endtomfgdw": "wfcgpxiqvk", + "shared_tag": 2 + }, + "fields": { + "counter_": 1835283, + "hll_": 367 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "egurfwcsfm": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1993416, + "hll_": 404 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "zsdwssznov": "ruypcnjulk", + "shared_tag": 2 + }, + "fields": { + "counter_": 2217824, + "hll_": 445 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "qscdxrjmow": "rxsjybldbe", + "shared_tag": 2 + }, + "fields": { + "counter_": 1907244, + "hll_": 369 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "arzowkkyhi": 100, + "wlrbbmqbhc": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1863554, + "hll_": 391 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kobmeahkgc": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1986756, + "hll_": 405 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ddwyvvburc": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2114055, + "hll_": 410 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dvjjafqzzx": "cxdzncqgjl", + "shared_tag": 2 + }, + "fields": { + "counter_": 2100697, + "hll_": 412 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "oghiqfmzhl": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 1872547, + "hll_": 371 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "igskmvrzgf": "vrftwapdtu", + "tpbztygnsr": "ajjngcomik", + "shared_tag": 2 + }, + "fields": { + "counter_": 1957296, + "hll_": 419 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "llnmpapqfw": "hopkmcoqhn", + "sarcbynecd": "ggxxpklore", + "shared_tag": 2 + }, + "fields": { + "counter_": 2010890, + "hll_": 387 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ayulyeimuo": 100.500000, + "ehzriicfsk": 73, + "hjouvsuyoy": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2062369, + "hll_": 418 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kchzdflilr": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2232985, + "hll_": 439 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frkmlnozjk": 42.500000, + "qpxrjxkitz": 100, + "xacbhhkicq": 73.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2013022, + "hll_": 400 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwltwjwnnv": 42, + "wjckdmeouu": "hyvhgvwujb", + "shared_tag": 2 + }, + "fields": { + "counter_": 2023327, + "hll_": 408 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ytdlcgdewh": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2055644, + "hll_": 422 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dtxjbmyppp": "auxnspusgd", + "jnadqhdcnv": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 1806344, + "hll_": 352 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frpjvoaxdp": 100, + "qvuygpnkaz": 42.500000, + "wmjobmsksk": "ojnewxgxnn", + "shared_tag": 2 + }, + "fields": { + "counter_": 1978446, + "hll_": 402 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dgyrqscczy": "nvqqcqcjit", + "pckjcazxdr": 100.500000, + "uzmxnafame": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 2151172, + "hll_": 405 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "hxdipfzwsw": 42, + "shared_tag": 2 + }, + "fields": { + "counter_": 1930481, + "hll_": 373 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nkuewhsqmg": "buqcljjivs", + "vtrrbljptn": 100.500000, + "wmdkqtbxix": 42.500000, + "shared_tag": 2 + }, + "fields": { + "counter_": 2172581, + "hll_": 404 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "eqmrjowrgh": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2377896, + "topk2": 2377896 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dgyrqscczy": "nvqqcqcjit", + "pckjcazxdr": 100.500000, + "uzmxnafame": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2155919, + "topk2": 2155919 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "egurfwcsfm": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1888931, + "topk2": 1888931 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dvjjafqzzx": "cxdzncqgjl", + "shared_tag": 3 + }, + "fields": { + "topk1": 1779956, + "topk2": 1779956 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frkmlnozjk": 42.500000, + "qpxrjxkitz": 100, + "xacbhhkicq": 73.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2131165, + "topk2": 2131165 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fnxztqrsvb": 42, + "pkyhsenbpp": 100, + "qtpddbuotb": 73, + "shared_tag": 3 + }, + "fields": { + "topk1": 2007273, + "topk2": 2007273 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "embaqwqwpq": "suebnvfgvj", + "iddvhrrdsy": "qhkleewhxt", + "xxpitcvogr": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1743997, + "topk2": 1743997 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nkuewhsqmg": "buqcljjivs", + "vtrrbljptn": 100.500000, + "wmdkqtbxix": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1780353, + "topk2": 1780353 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "udjsuyibye": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1871283, + "topk2": 1871283 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "cwivrfxjuj": 42.500000, + "ddntgeiqvd": 100.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2047917, + "topk2": 2047917 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ytdlcgdewh": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1989495, + "topk2": 1989495 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "cnjkphclff": 42, + "gfylqvjzha": "vrlyauuzdr", + "keecbpdipu": 100.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1893645, + "topk2": 1893645 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "endtomfgdw": "wfcgpxiqvk", + "shared_tag": 3 + }, + "fields": { + "topk1": 1890695, + "topk2": 1890695 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwzqfjmafa": "rrwsofsbcn", + "uvqhffbsaq": 42.500000, + "wpqcacehch": 100, + "shared_tag": 3 + }, + "fields": { + "topk1": 2226830, + "topk2": 2226830 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "hxdipfzwsw": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2271247, + "topk2": 2271247 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "jjrqopubjg": 100.500000, + "robdeyqcrg": "uaiihveixw", + "ryktheyent": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2215474, + "topk2": 2215474 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwltwjwnnv": 42, + "wjckdmeouu": "hyvhgvwujb", + "shared_tag": 3 + }, + "fields": { + "topk1": 1897603, + "topk2": 1897603 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kobmeahkgc": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2132042, + "topk2": 2132042 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "llnmpapqfw": "hopkmcoqhn", + "sarcbynecd": "ggxxpklore", + "shared_tag": 3 + }, + "fields": { + "topk1": 1856061, + "topk2": 1856061 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gyjgfdxvtn": "nneslsplwu", + "irjcddsozo": 42, + "iupfxlzbkn": "kwppanltcf", + "shared_tag": 3 + }, + "fields": { + "topk1": 1870913, + "topk2": 1870913 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fjqsjxvkqd": 73, + "hbasjeuyga": 42, + "oubutpnimu": 100.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1870214, + "topk2": 1870214 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gynkrrefxs": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1997307, + "topk2": 1997307 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "xnupycfgcu": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2016727, + "topk2": 2016727 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "arzowkkyhi": 100, + "wlrbbmqbhc": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2025120, + "topk2": 2025120 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "iixqmbfjxj": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2013321, + "topk2": 2013321 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "qscdxrjmow": "rxsjybldbe", + "shared_tag": 3 + }, + "fields": { + "topk1": 2223322, + "topk2": 2223322 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ebeocfufts": "dixtigsiee", + "mzevypzvje": 100.500000, + "wsiqyoygyx": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1815356, + "topk2": 1815356 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "igskmvrzgf": "vrftwapdtu", + "tpbztygnsr": "ajjngcomik", + "shared_tag": 3 + }, + "fields": { + "topk1": 1844780, + "topk2": 1844780 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "etokyxhoac": "wdvmxxrdry", + "rwblnsadeu": "uumoqcdrub", + "xlmndqtukw": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1885615, + "topk2": 1885615 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ayulyeimuo": 100.500000, + "ehzriicfsk": 73, + "hjouvsuyoy": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2019952, + "topk2": 2019952 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "zsdwssznov": "ruypcnjulk", + "shared_tag": 3 + }, + "fields": { + "topk1": 2176141, + "topk2": 2176141 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "bppleqlwph": 100, + "cxamludfyk": "ruowzgiooo", + "gkbbipzzrz": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1951147, + "topk2": 1951147 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "mlejuukwci": 42.500000, + "xubumenmey": "tdrmydiajx", + "shared_tag": 3 + }, + "fields": { + "topk1": 1968970, + "topk2": 1968970 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "vhesnkqxmw": "qidrvmhlub", + "shared_tag": 3 + }, + "fields": { + "topk1": 2003934, + "topk2": 2003934 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "aehhsveymq": 42, + "xhlrnunyfd": 100.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2122066, + "topk2": 2122066 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gtqvvhbgsd": 42, + "popkvxfgvi": "etcmkbljop", + "shared_tag": 3 + }, + "fields": { + "topk1": 2136151, + "topk2": 2136151 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ijvwcyaubw": 42, + "wpjvygehlj": 100, + "shared_tag": 3 + }, + "fields": { + "topk1": 1881072, + "topk2": 1881072 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "elhhzjchpd": 100.500000, + "gwraatzzwp": "mfbfjkncvk", + "vcnvbmasid": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1691321, + "topk2": 1691321 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ciohordtqk": "wcsgspqoqm", + "sboaguwnny": "xnzlgdgwpb", + "shared_tag": 3 + }, + "fields": { + "topk1": 1942359, + "topk2": 1942359 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dtxjbmyppp": "auxnspusgd", + "jnadqhdcnv": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1986841, + "topk2": 1986841 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "lefszbexra": "petvhqnddj", + "shared_tag": 3 + }, + "fields": { + "topk1": 2085923, + "topk2": 2085923 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kchzdflilr": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2184429, + "topk2": 2184429 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ucftpwctgt": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1992706, + "topk2": 1992706 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "idjcxjhrnx": "xmjcxohqan", + "mwpmhwdvth": "fqueeexgru", + "xdrmgzebhn": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 1985818, + "topk2": 1985818 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "pbpiwuqzdz": "bdubzvafsp", + "qpqwuzifwo": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1878650, + "topk2": 1878650 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "oghiqfmzhl": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 1929234, + "topk2": 1929234 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frpjvoaxdp": 100, + "qvuygpnkaz": 42.500000, + "wmjobmsksk": "ojnewxgxnn", + "shared_tag": 3 + }, + "fields": { + "topk1": 1867249, + "topk2": 1867249 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ddwyvvburc": 42, + "shared_tag": 3 + }, + "fields": { + "topk1": 2076894, + "topk2": 2076894 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nublmoiitn": 42.500000, + "shared_tag": 3 + }, + "fields": { + "topk1": 2105365, + "topk2": 2105365 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dirbfcriqi": 42, + "xxvrwctdsn": "ogvbpkxlpg", + "shared_tag": 3 + }, + "fields": { + "topk1": 1880616, + "topk2": 1880616 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "elhhzjchpd": 100.500000, + "gwraatzzwp": "mfbfjkncvk", + "vcnvbmasid": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2034013, + "hll_": 408 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kobmeahkgc": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2038021, + "hll_": 406 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gtqvvhbgsd": 42, + "popkvxfgvi": "etcmkbljop", + "shared_tag": 4 + }, + "fields": { + "counter_": 1712571, + "hll_": 355 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frpjvoaxdp": 100, + "qvuygpnkaz": 42.500000, + "wmjobmsksk": "ojnewxgxnn", + "shared_tag": 4 + }, + "fields": { + "counter_": 1939931, + "hll_": 400 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ijvwcyaubw": 42, + "wpjvygehlj": 100, + "shared_tag": 4 + }, + "fields": { + "counter_": 2093941, + "hll_": 414 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "arzowkkyhi": 100, + "wlrbbmqbhc": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2020904, + "hll_": 402 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "frkmlnozjk": 42.500000, + "qpxrjxkitz": 100, + "xacbhhkicq": 73.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2070676, + "hll_": 417 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dvjjafqzzx": "cxdzncqgjl", + "shared_tag": 4 + }, + "fields": { + "counter_": 2040742, + "hll_": 401 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "udjsuyibye": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1960479, + "hll_": 408 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dtxjbmyppp": "auxnspusgd", + "jnadqhdcnv": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2010058, + "hll_": 401 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fnxztqrsvb": 42, + "pkyhsenbpp": 100, + "qtpddbuotb": 73, + "shared_tag": 4 + }, + "fields": { + "counter_": 1960783, + "hll_": 402 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "zsdwssznov": "ruypcnjulk", + "shared_tag": 4 + }, + "fields": { + "counter_": 2084882, + "hll_": 416 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "iixqmbfjxj": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2154031, + "hll_": 406 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "cnjkphclff": 42, + "gfylqvjzha": "vrlyauuzdr", + "keecbpdipu": 100.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1903096, + "hll_": 389 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "eqmrjowrgh": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2435822, + "hll_": 461 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "xnupycfgcu": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1739742, + "hll_": 365 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fjqsjxvkqd": 73, + "hbasjeuyga": 42, + "oubutpnimu": 100.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1876487, + "hll_": 381 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ddwyvvburc": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1951863, + "hll_": 396 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "idjcxjhrnx": "xmjcxohqan", + "mwpmhwdvth": "fqueeexgru", + "xdrmgzebhn": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1968055, + "hll_": 388 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ciohordtqk": "wcsgspqoqm", + "sboaguwnny": "xnzlgdgwpb", + "shared_tag": 4 + }, + "fields": { + "counter_": 1946859, + "hll_": 399 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwltwjwnnv": 42, + "wjckdmeouu": "hyvhgvwujb", + "shared_tag": 4 + }, + "fields": { + "counter_": 1920171, + "hll_": 381 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "aehhsveymq": 42, + "xhlrnunyfd": 100.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1918108, + "hll_": 382 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "kchzdflilr": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2006273, + "hll_": 392 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "etokyxhoac": "wdvmxxrdry", + "rwblnsadeu": "uumoqcdrub", + "xlmndqtukw": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1927104, + "hll_": 399 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "embaqwqwpq": "suebnvfgvj", + "iddvhrrdsy": "qhkleewhxt", + "xxpitcvogr": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2024562, + "hll_": 405 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nublmoiitn": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2115534, + "hll_": 418 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "igskmvrzgf": "vrftwapdtu", + "tpbztygnsr": "ajjngcomik", + "shared_tag": 4 + }, + "fields": { + "counter_": 1845617, + "hll_": 368 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "oghiqfmzhl": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1862177, + "hll_": 368 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "egurfwcsfm": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2042576, + "hll_": 409 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ytdlcgdewh": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1836371, + "hll_": 377 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ayulyeimuo": 100.500000, + "ehzriicfsk": 73, + "hjouvsuyoy": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2027988, + "hll_": 387 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "lefszbexra": "petvhqnddj", + "shared_tag": 4 + }, + "fields": { + "counter_": 1826553, + "hll_": 382 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dirbfcriqi": 42, + "xxvrwctdsn": "ogvbpkxlpg", + "shared_tag": 4 + }, + "fields": { + "counter_": 1924229, + "hll_": 394 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "cwivrfxjuj": 42.500000, + "ddntgeiqvd": 100.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2092719, + "hll_": 411 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ebeocfufts": "dixtigsiee", + "mzevypzvje": 100.500000, + "wsiqyoygyx": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 2105699, + "hll_": 419 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "hxdipfzwsw": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1936643, + "hll_": 383 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "nkuewhsqmg": "buqcljjivs", + "vtrrbljptn": 100.500000, + "wmdkqtbxix": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 2174459, + "hll_": 423 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gynkrrefxs": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1917584, + "hll_": 393 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "fwzqfjmafa": "rrwsofsbcn", + "uvqhffbsaq": 42.500000, + "wpqcacehch": 100, + "shared_tag": 4 + }, + "fields": { + "counter_": 2131308, + "hll_": 421 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "llnmpapqfw": "hopkmcoqhn", + "sarcbynecd": "ggxxpklore", + "shared_tag": 4 + }, + "fields": { + "counter_": 2172707, + "hll_": 422 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "pbpiwuqzdz": "bdubzvafsp", + "qpqwuzifwo": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1988971, + "hll_": 406 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "vhesnkqxmw": "qidrvmhlub", + "shared_tag": 4 + }, + "fields": { + "counter_": 1981311, + "hll_": 407 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "qscdxrjmow": "rxsjybldbe", + "shared_tag": 4 + }, + "fields": { + "counter_": 2048575, + "hll_": 406 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "gyjgfdxvtn": "nneslsplwu", + "irjcddsozo": 42, + "iupfxlzbkn": "kwppanltcf", + "shared_tag": 4 + }, + "fields": { + "counter_": 1858159, + "hll_": 391 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "dgyrqscczy": "nvqqcqcjit", + "pckjcazxdr": 100.500000, + "uzmxnafame": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1987869, + "hll_": 409 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "endtomfgdw": "wfcgpxiqvk", + "shared_tag": 4 + }, + "fields": { + "counter_": 2075002, + "hll_": 409 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "mlejuukwci": 42.500000, + "xubumenmey": "tdrmydiajx", + "shared_tag": 4 + }, + "fields": { + "counter_": 1993617, + "hll_": 386 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "bppleqlwph": 100, + "cxamludfyk": "ruowzgiooo", + "gkbbipzzrz": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1989862, + "hll_": 362 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "jjrqopubjg": 100.500000, + "robdeyqcrg": "uaiihveixw", + "ryktheyent": 42, + "shared_tag": 4 + }, + "fields": { + "counter_": 1970905, + "hll_": 396 + }, + "timestamp": 1693820724846 + }, + { + "name": "-", + "tags": { + "ucftpwctgt": 42.500000, + "shared_tag": 4 + }, + "fields": { + "counter_": 1824249, + "hll_": 370 + }, + "timestamp": 1693820724846 + } +]
\ No newline at end of file diff --git a/src/utils/very_fast_json_writer.c b/src/utils/very_fast_json_writer.c new file mode 100644 index 0000000..36cdc50 --- /dev/null +++ b/src/utils/very_fast_json_writer.c @@ -0,0 +1,146 @@ + +#include <stdbool.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + +struct json_writer { + char *buffer; + size_t cursor; + size_t buffer_size; +}; + +// #define QUOTATION_MARK \" +#define INT_STR_LEN 11 +#define DOUBLE_STR_LEN 32 +#define LONG_LONG_STR_LEN 21 +#define PAGE_SIZE 4096 + +struct json_writer *json_writer_init() { + struct json_writer *writer = malloc(sizeof(struct json_writer)); + writer->buffer_size = PAGE_SIZE; + writer->buffer = calloc(writer->buffer_size, sizeof(char)); + writer->cursor = 0; + return writer; +} + +void json_writer_check_and_realloc(struct json_writer *writer, size_t size) { + size_t dest_size = writer->cursor + size; + + if (dest_size < writer->buffer_size) { + return; + } + + while (writer->buffer_size <= dest_size) { + writer->buffer_size += PAGE_SIZE; + writer->buffer = realloc(writer->buffer, writer->buffer_size); + } +} + +void json_writer_start_map(struct json_writer *writer){ + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor] = '{'; + writer->cursor++; +} + +void json_writer_end_map(struct json_writer *writer) { + if (writer->buffer[writer->cursor - 1] == '{') { // empty map + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = '}'; + return; + } + writer->buffer[writer->cursor - 1] = '}'; // replace last comma with } + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = ','; +} + +void json_writer_array_start(struct json_writer *writer) { + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = '['; +} + +void json_writer_array_end(struct json_writer *writer) { + if (writer->buffer[writer->cursor - 1] == '[') { // empty array + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = ']'; + return; + } + writer->buffer[writer->cursor - 1] = ']'; // replace last comma with ] +} + +void json_writer_str_item(struct json_writer *writer, const char *value, size_t str_len) { + json_writer_check_and_realloc(writer, str_len + 2); // 2 for quotation mark + writer->buffer[writer->cursor++] = '"'; + memcpy(writer->buffer + writer->cursor, value, str_len); + writer->cursor += str_len; + writer->buffer[writer->cursor++] = '"'; +} + +void json_writer_str_field(struct json_writer *writer, const char *key, const char *value, size_t str_len) +{ + json_writer_str_item(writer, key, strlen(key)); + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = ':'; + json_writer_str_item(writer, value, str_len); + json_writer_check_and_realloc(writer, 1); + writer->buffer[writer->cursor++] = ','; +} + +void json_writer_int_field(struct json_writer *writer, const char *key, int value){ + json_writer_str_item(writer, key, strlen(key)); + json_writer_check_and_realloc(writer, 1 + INT_STR_LEN + 1); // 1 for colon, 1 for comma + writer->buffer[writer->cursor++] = ':'; + int len = snprintf(writer->buffer + writer->cursor, INT_STR_LEN, "%d", value); + writer->cursor += len; + writer->buffer[writer->cursor++] = ','; +} + +void json_writer_double_field(struct json_writer *writer, const char *key, double value) +{ + json_writer_str_item(writer, key, strlen(key)); + json_writer_check_and_realloc(writer, 1 + DOUBLE_STR_LEN + 1); // 1 for colon, 1 for comma + writer->buffer[writer->cursor++] = ':'; + int len = snprintf(writer->buffer + writer->cursor, DOUBLE_STR_LEN, "%.2f", value); + writer->cursor += len; + writer->buffer[writer->cursor++] = ','; +} + +void json_writer_longlong_field(struct json_writer *writer, const char *key, long long value) +{ + json_writer_str_item(writer, key, strlen(key)); + json_writer_check_and_realloc(writer, 1 + LONG_LONG_STR_LEN + 1); // 1 for colon, 1 for comma + writer->buffer[writer->cursor++] = ':'; + int len = snprintf(writer->buffer + writer->cursor, LONG_LONG_STR_LEN, "%lld", value); + writer->cursor += len; + writer->buffer[writer->cursor++] = ','; +} + +void json_writer_finish(struct json_writer *writer, char **result, size_t *result_len) +{ + writer->buffer[writer->cursor - 1] = '\0'; // replace last comma with \0 + *result = writer->buffer; + *result_len = writer->cursor - 1; // exclude the comma + free(writer); +} + +void json_writer_object_item(struct json_writer *writer, const char *key, struct json_writer *writer_in) +{ + json_writer_str_item(writer, key, strlen(key)); + + json_writer_check_and_realloc(writer, 2); + writer->buffer[writer->cursor++] = ':'; + writer->buffer[writer->cursor++] = '{'; + + char *str_writer_in; + size_t str_writer_in_len; + json_writer_finish(writer_in, &str_writer_in, &str_writer_in_len); + + json_writer_check_and_realloc(writer, str_writer_in_len); + memcpy(writer->buffer + writer->cursor, str_writer_in, str_writer_in_len); + writer->cursor += str_writer_in_len; + free(str_writer_in); + + json_writer_check_and_realloc(writer, 2); + writer->buffer[writer->cursor++] = '}'; + writer->buffer[writer->cursor++] = ','; +} diff --git a/src/utils/very_fast_json_writer.h b/src/utils/very_fast_json_writer.h new file mode 100644 index 0000000..deee1a6 --- /dev/null +++ b/src/utils/very_fast_json_writer.h @@ -0,0 +1,24 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +struct json_writer; + +// #define QUOTATION_MARK \" + + +struct json_writer *json_writer_init(); +void json_writer_start_map(struct json_writer *writer); // { +void json_writer_end_map(struct json_writer *writer); // } +void json_writer_str_field(struct json_writer *writer, const char *key, const char *value, size_t str_len); +void json_writer_int_field(struct json_writer *writer, const char *key, int value); +void json_writer_double_field(struct json_writer *writer, const char *key, double value); +void json_writer_longlong_field(struct json_writer *writer, const char *key, long long value); +void json_writer_object_item(struct json_writer *writer, const char *key, struct json_writer *writer_in); +void json_writer_finish(struct json_writer *writer, char **result, size_t *result_len); + +#ifdef __cplusplus +} +#endif
\ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cf40b3f..7070f93 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -46,14 +46,14 @@ function (add_unit_test file_name) set_property(TARGET ${file_name} PROPERTY CXX_STANDARD 17)
endfunction()
-add_unit_test(test_empty_tags)
+# add_unit_test(test_empty_tags)
add_unit_test(test_exporter_json)
-add_unit_test(test_fuzz_test)
-add_unit_test(test_merge)
-add_unit_test(test_metric_counter)
-add_unit_test(test_metric_histogram)
-add_unit_test(test_metric_hll)
-add_unit_test(test_performance)
-add_unit_test(test_register_and_reset)
-add_unit_test(test_serialize)
-add_unit_test(unit_test_cell_manager)
\ No newline at end of file +# add_unit_test(test_fuzz_test)
+# add_unit_test(test_merge)
+# add_unit_test(test_metric_counter)
+# add_unit_test(test_metric_histogram)
+# add_unit_test(test_metric_hll)
+# add_unit_test(test_performance)
+# add_unit_test(test_register_and_reset)
+# add_unit_test(test_serialize)
+# add_unit_test(unit_test_cell_manager)
\ No newline at end of file diff --git a/test/comparison.json b/test/comparison.json new file mode 100644 index 0000000..94cdf69 --- /dev/null +++ b/test/comparison.json @@ -0,0 +1,12 @@ +[ + { + "name": "-", + "tags": "nwlrbbmqbh":"darzowkkyh","test_tag_shared 1":3,"test_tag_shared 2":0.20,"test_tag_shared 3":"1string",{"name":"-","tags":""iddqscdxrj": 42, + "owfrxsjybl": 100, + "test_tag_shared 1": 3, + "test_tag_shared 2": 0.20, + "test_tag_shared 3": "1string", + } + { + "name": "-", + "tags": ""befsarcbyn":"cdyggxxpkl","orellnmpap":"fwkhopkmco","qhnwnkuewh":42.50,"test_tag_shared 1":3,"test_tag_shared 2":0.20,"test_tag_shared 3":"1string"]
\ No newline at end of file diff --git a/test/profiling/CMakeLists.txt b/test/profiling/CMakeLists.txt index 3f1319e..50838c1 100644 --- a/test/profiling/CMakeLists.txt +++ b/test/profiling/CMakeLists.txt @@ -18,6 +18,7 @@ file(GLOB SRC "${PROJECT_SOURCE_DIR}/src/metrics/*.c"
"${PROJECT_SOURCE_DIR}/src/tags/*.c"
"${PROJECT_SOURCE_DIR}/src/exporter/*.c"
+ "${PROJECT_SOURCE_DIR}/src/utils/*.c"
"${PROJECT_SOURCE_DIR}/vendors/cjson/*.c"
"${PROJECT_SOURCE_DIR}/vendors/hdr/*.c"
"${PROJECT_SOURCE_DIR}/vendors/minheap/*.c"
diff --git a/test/profiling/main.c b/test/profiling/main.c index 91dc6e3..9454671 100644 --- a/test/profiling/main.c +++ b/test/profiling/main.c @@ -194,7 +194,7 @@ void determine_K_factor() int main () { // try_hash_compound_key(); // topk_K_100_tag_2(); - // performance_cube_add_comprehensive(); + performance_cube_add_comprehensive(); // build_dynamic_cell_key_performance(); - determine_K_factor(); + // determine_K_factor(); }
\ No newline at end of file diff --git a/test/test_exporter_json.cpp b/test/test_exporter_json.cpp index d64b913..f465bdb 100644 --- a/test/test_exporter_json.cpp +++ b/test/test_exporter_json.cpp @@ -11,6 +11,7 @@ #include "hdr/hdr_histogram.h" #include "hdr/hdr_histogram_log.h" #include "st_hyperloglog.h" +#include "very_fast_json_writer.h" const size_t OPER_NUM = 10000; std::string g_hll_standard_oper[OPER_NUM]; @@ -129,7 +130,11 @@ cJSON *test_exporter_extract_results(const struct fieldstat *instance) { struct fieldstat_json_exporter *fieldstat_json_exporter = fieldstat_json_exporter_new(instance); + // printf("going to export, get char\n"); + // getchar(); char *json_string = fieldstat_json_exporter_export(fieldstat_json_exporter); + printf("json_string: %s\n", json_string); + // exit(0); cJSON *root_arr = cJSON_Parse(json_string); free(json_string); fieldstat_json_exporter_free(fieldstat_json_exporter); @@ -439,6 +444,21 @@ TEST(export_unit_test, test_add_json_length_is_on_margin_4095) free(buf); } +TEST(simple_test_json_writer, test1) +{ + struct json_writer *writer = json_writer_init(); + json_writer_start_map(writer); + json_writer_str_field(writer, "key", "value", 5); + json_writer_int_field(writer, "key2", 123); + json_writer_double_field(writer, "key3", 1.1); + json_writer_end_map(writer); + char *result; + size_t len; + json_writer_finish(writer, &result, &len); + printf("simple_test_json_writer %s\n", result); + free(result); +} + void init_hll_standard_oper() { g_hll_standard = ST_hyperloglog_new(12); @@ -453,11 +473,13 @@ void init_histogram_standard_oper() { hdr_init(1, 20000, 3, &g_histogram_standard); for (size_t i = 0; i < OPER_NUM; i++) { - g_histogram_standard_oper[i] = i; - hdr_record_value(g_histogram_standard, i); + g_histogram_standard_oper[i] = i + 1; + hdr_record_value(g_histogram_standard, i + 1); } } + + int main(int argc, char *argv[]) { init_hll_standard_oper(); |
