0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-05-03 08:50:02 +00:00
netdata_netdata/database/storage_engine.c
vkalintiris 440bd51e08
Refactor RRD code. ()
* Storage engine.

* Host indexes to rrdb

* Move globals to rrdb

* Move storage_tiers_backfill to rrdb

* default_rrd_update_every to rrdb

* default_rrd_history_entries to rrdb

* gap_when_lost_iterations_above to rrdb

* rrdset_free_obsolete_time_s to rrdb

* libuv_worker_threads to rrdb

* ieee754_doubles to rrdb

* rrdhost_free_orphan_time_s to rrdb

* rrd_rwlock to rrdb

* localhost to rrdb

* rm extern from func decls

* mv rrd macro under rrd.h

* default_rrdeng_page_cache_mb to rrdb

* default_rrdeng_extent_cache_mb to rrdb

* db_engine_journal_check to rrdb

* default_rrdeng_disk_quota_mb to rrdb

* default_multidb_disk_quota_mb to rrdb

* multidb_ctx to rrdb

* page_type_size to rrdb

* tier_page_size to rrdb

* No storage_engine_id in rrdim functions

* storage_engine_id is provided by st

* Update to fix merge conflict.

* Update field name

* Remove unnecessary macros from rrd.h

* Rm unused type decls

* Rm duplicate func decls

* make internal function static

* Make the rest of public dbengine funcs accept a storage_instance.

* No more rrdengine_instance :)

* rm rrdset_debug from rrd.h

* Use rrdb to access globals in ML and ACLK

Missed due to not having the submodules in the
worktree.

* rm total_number

* rm RRDVAR_TYPE_TOTAL

* rm unused inline

* Rm names from typedef'd enums

* rm unused header include

* Move include

* Rm unused header include

* s/rrdhost_find_or_create/rrdhost_get_or_create/g

* s/find_host_by_node_id/rrdhost_find_by_node_id/

Also, remove duplicate definition in rrdcontext.c

* rm macro used only once

* rm macro used only once

* Reduce rrd.h api by moving funcs into a collector specific utils header

* Remove unused func

* Move parser specific function out of rrd.h

* return storage_number instead of void pointer

* move code related to rrd initialization out of rrdhost.c

* Remove tier_grouping from rrdim_tier

Saves 8 * storage_tiers bytes per dimension.

* Fix rebase

* s/rrd_update_every/update_every/

* Mark functions as static and constify args

* Add license notes and file to build systems.

* Remove remaining non-log/config mentions of memory mode

* Move rrdlabels api to separate file.

Also, move localhost functions that loads
labels outside of database/ and into daemon/

* Remove function decl in rrd.h

* merge rrdhost_cache_dir_for_rrdset_alloc into rrdset_cache_dir

* Do not expose internal function from rrd.h

* Rm NETDATA_RRD_INTERNALS

Only one function decl is covered. We have more
database internal functions that we currently
expose for no good reason. These will be placed
in a separate internal header in follow up PRs.

* Add license note

* Include libnetdata.h instead of aral.h

* Use rrdb to access localhost

* Fix builds without dbengine

* Add header to build system files

* Add rrdlabels.h to build systems

* Move func def from rrd.h to rrdhost.c

* Fix macos build

* Rm non-existing function

* Rebase master

* Define buffer length macro in ad_charts.

* Fix FreeBSD builds.

* Mark functions static

* Rm func decls without definitions

* Rebase master

* Rebase master

* Properly initialize value of storage tiers.

* Fix build after rebase.
2023-07-26 15:30:49 +03:00

59 lines
1.6 KiB
C

// SPDX-License-Identifier: GPL-3.0-or-later
#include "storage_engine.h"
#include "ram/rrddim_mem.h"
#ifdef ENABLE_DBENGINE
#include "engine/rrdengineapi.h"
#endif
#ifdef ENABLE_DBENGINE
STORAGE_ENGINE_ID default_storage_engine_id = STORAGE_ENGINE_DBENGINE;
#else
STORAGE_ENGINE_ID default_storage_engine_id = STORAGE_ENGINE_SAVE;
#endif
const char *storage_engine_name(STORAGE_ENGINE_ID id) {
switch(id) {
case STORAGE_ENGINE_RAM:
return STORAGE_ENGINE_RAM_NAME;
case STORAGE_ENGINE_MAP:
return STORAGE_ENGINE_MAP_NAME;
case STORAGE_ENGINE_NONE:
return STORAGE_ENGINE_NONE_NAME;
case STORAGE_ENGINE_SAVE:
return STORAGE_ENGINE_SAVE_NAME;
case STORAGE_ENGINE_ALLOC:
return STORAGE_ENGINE_ALLOC_NAME;
case STORAGE_ENGINE_DBENGINE:
return STORAGE_ENGINE_DBENGINE_NAME;
default:
__builtin_unreachable();
}
}
bool storage_engine_id(const char *name, STORAGE_ENGINE_ID *id) {
if (!strcmp(name, STORAGE_ENGINE_RAM_NAME)) {
*id = STORAGE_ENGINE_RAM;
} else if (!strcmp(name, STORAGE_ENGINE_MAP_NAME)) {
*id = STORAGE_ENGINE_MAP;
} else if (!strcmp(name, STORAGE_ENGINE_NONE_NAME)) {
*id = STORAGE_ENGINE_NONE;
} else if (!strcmp(name, STORAGE_ENGINE_SAVE_NAME)) {
*id = STORAGE_ENGINE_SAVE;
} else if (!strcmp(name, STORAGE_ENGINE_ALLOC_NAME)) {
*id = STORAGE_ENGINE_ALLOC;
} else if (!strcmp(name, STORAGE_ENGINE_DBENGINE_NAME)) {
*id = STORAGE_ENGINE_DBENGINE;
} else {
return false;
}
return true;
}