19#ifndef FLECS_METRICS_H
20#define FLECS_METRICS_H
89 const char *dotmember;
163#define ecs_metric(world, ...)\
164 ecs_metric_init(world, &(ecs_metric_desc_t) __VA_ARGS__ )
struct EcsMetricSource EcsMetricSource
Component that stores metric source.
struct ecs_metric_desc_t ecs_metric_desc_t
Used with ecs_metric_init to create metric.
struct EcsMetricValue EcsMetricValue
Component that stores metric value.
FLECS_API ecs_entity_t ecs_metric_init(ecs_world_t *world, const ecs_metric_desc_t *desc)
Create a new metric.
FLECS_API void FlecsMetricsImport(ecs_world_t *world)
Metrics module import function.
ecs_id_t ecs_entity_t
An entity identifier.
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
uint64_t ecs_id_t
Ids are the things that can be added to an entity.
#define ECS_TAG_DECLARE
Forward declare a tag.
#define ECS_COMPONENT_DECLARE(id)
Forward declare a component.
Component that stores metric source.
Component that stores metric value.
Used with ecs_metric_init to create metric.
const char * brief
Description of metric.
ecs_entity_t member
Entity associated with member that stores metric value.
ecs_entity_t kind
Must be EcsGauge, EcsCounter, EcsCounterIncrement or EcsCounterId.
ecs_entity_t entity
Entity associated with metric.
bool targets
If id is a (R, *) wildcard and relationship R has the OneOf property, setting this value to true will...
ecs_id_t id
Tracks whether entities have the specified component id.