blob: b206cca05577abe051468b0e45b9d9ba3da55cce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// SPDX-License-Identifier: GPL-3.0-or-later
#define NETDATA_RRD_INTERNALS
#include "metadatalog.h"
/*
* Returns 0 on success, negative on error
*/
int metalog_init(struct rrdengine_instance *rrdeng_parent_ctx)
{
struct metalog_instance *ctx;
int error;
ctx = callocz(1, sizeof(*ctx));
ctx->initialized = 0;
rrdeng_parent_ctx->metalog_ctx = ctx;
ctx->rrdeng_ctx = rrdeng_parent_ctx;
error = init_metalog_files(ctx);
if (error) {
goto error_after_init_rrd_files;
}
ctx->initialized = 1; /* notify dbengine that the metadata log has finished initializing */
return 0;
error_after_init_rrd_files:
freez(ctx);
return UV_EIO;
}
/* This function is called by dbengine rotation logic when the metric has no writers */
void metalog_delete_dimension_by_uuid(struct metalog_instance *ctx, uuid_t *metric_uuid)
{
uuid_t multihost_uuid;
delete_dimension_uuid(metric_uuid);
rrdeng_convert_legacy_uuid_to_multihost(ctx->rrdeng_ctx->machine_guid, metric_uuid, &multihost_uuid);
delete_dimension_uuid(&multihost_uuid);
}
|