![]() |
Flecs v4.1
A fast entity component system (ECS) for C & C++
|
Collection of statistics for world, queries, systems and pipelines. More...
Classes | |
| struct | ecs_gauge_t |
| Simple value that indicates current state. More... | |
| struct | ecs_counter_t |
| Monotonically increasing counter. More... | |
| union | ecs_metric_t |
| Make all metrics the same size, so we can iterate over fields. More... | |
| struct | ecs_world_stats_t |
| struct | ecs_query_stats_t |
| Statistics for a single query (use ecs_query_cache_stats_get) More... | |
| struct | ecs_system_stats_t |
| Statistics for a single system (use ecs_system_stats_get()) More... | |
| struct | ecs_sync_stats_t |
| Statistics for sync point. More... | |
| struct | ecs_pipeline_stats_t |
| Statistics for all systems in a pipeline. More... | |
| struct | EcsStatsHeader |
| Common data for statistics. More... | |
| struct | EcsWorldStats |
| Component that stores world statistics. More... | |
| struct | EcsSystemStats |
| Component that stores system statistics. More... | |
| struct | EcsPipelineStats |
| Component that stores pipeline statistics. More... | |
| struct | EcsWorldSummary |
| Component that stores a summary of world statistics. More... | |
| struct | ecs_entities_memory_t |
| Entity memory. More... | |
| struct | ecs_component_memory_t |
| struct | ecs_component_index_memory_t |
| Component index memory. More... | |
| struct | ecs_query_memory_t |
| Query memory. More... | |
| struct | ecs_table_memory_t |
| Table memory. More... | |
| struct | ecs_table_histogram_t |
| Table size histogram. More... | |
| struct | ecs_misc_memory_t |
| Misc memory. More... | |
| struct | ecs_allocator_memory_t |
| Allocator memory. More... | |
| struct | EcsWorldMemory |
| Component with memory statistics. More... | |
Macros | |
| #define | ECS_STAT_WINDOW (60) |
| #define | ECS_TABLE_MEMORY_HISTOGRAM_BUCKET_COUNT 14 |
| Table memory histogram constants. | |
| #define | ECS_TABLE_MEMORY_HISTOGRAM_MAX_COUNT (1 << ECS_TABLE_MEMORY_HISTOGRAM_BUCKET_COUNT) |
Typedefs | |
| typedef struct ecs_gauge_t | ecs_gauge_t |
| Simple value that indicates current state. | |
| typedef struct ecs_counter_t | ecs_counter_t |
| Monotonically increasing counter. | |
| typedef union ecs_metric_t | ecs_metric_t |
| Make all metrics the same size, so we can iterate over fields. | |
| typedef struct ecs_world_stats_t | ecs_world_stats_t |
| typedef struct ecs_query_stats_t | ecs_query_stats_t |
| Statistics for a single query (use ecs_query_cache_stats_get) | |
| typedef struct ecs_system_stats_t | ecs_system_stats_t |
| Statistics for a single system (use ecs_system_stats_get()) | |
| typedef struct ecs_sync_stats_t | ecs_sync_stats_t |
| Statistics for sync point. | |
| typedef struct ecs_pipeline_stats_t | ecs_pipeline_stats_t |
| Statistics for all systems in a pipeline. | |
Functions | |
| FLECS_API void | ecs_world_stats_get (const ecs_world_t *world, ecs_world_stats_t *stats) |
| Get world statistics. | |
| FLECS_API void | ecs_world_stats_reduce (ecs_world_stats_t *dst, const ecs_world_stats_t *src) |
| Reduce source measurement window into single destination measurement. | |
| FLECS_API void | ecs_world_stats_reduce_last (ecs_world_stats_t *stats, const ecs_world_stats_t *old, int32_t count) |
| Reduce last measurement into previous measurement, restore old value. | |
| FLECS_API void | ecs_world_stats_repeat_last (ecs_world_stats_t *stats) |
| Repeat last measurement. | |
| FLECS_API void | ecs_world_stats_copy_last (ecs_world_stats_t *dst, const ecs_world_stats_t *src) |
| Copy last measurement from source to destination. | |
| FLECS_API void | ecs_world_stats_log (const ecs_world_t *world, const ecs_world_stats_t *stats) |
| FLECS_API void | ecs_query_stats_get (const ecs_world_t *world, const ecs_query_t *query, ecs_query_stats_t *stats) |
| Get query statistics. | |
| FLECS_API void | ecs_query_cache_stats_reduce (ecs_query_stats_t *dst, const ecs_query_stats_t *src) |
| Reduce source measurement window into single destination measurement. | |
| FLECS_API void | ecs_query_cache_stats_reduce_last (ecs_query_stats_t *stats, const ecs_query_stats_t *old, int32_t count) |
| Reduce last measurement into previous measurement, restore old value. | |
| FLECS_API void | ecs_query_cache_stats_repeat_last (ecs_query_stats_t *stats) |
| Repeat last measurement. | |
| FLECS_API void | ecs_query_cache_stats_copy_last (ecs_query_stats_t *dst, const ecs_query_stats_t *src) |
| Copy last measurement from source to destination. | |
| FLECS_API bool | ecs_system_stats_get (const ecs_world_t *world, ecs_entity_t system, ecs_system_stats_t *stats) |
| Get system statistics. | |
| FLECS_API void | ecs_system_stats_reduce (ecs_system_stats_t *dst, const ecs_system_stats_t *src) |
| Reduce source measurement window into single destination measurement. | |
| FLECS_API void | ecs_system_stats_reduce_last (ecs_system_stats_t *stats, const ecs_system_stats_t *old, int32_t count) |
| Reduce last measurement into previous measurement, restore old value. | |
| FLECS_API void | ecs_system_stats_repeat_last (ecs_system_stats_t *stats) |
| Repeat last measurement. | |
| FLECS_API void | ecs_system_stats_copy_last (ecs_system_stats_t *dst, const ecs_system_stats_t *src) |
| Copy last measurement from source to destination. | |
| FLECS_API bool | ecs_pipeline_stats_get (ecs_world_t *world, ecs_entity_t pipeline, ecs_pipeline_stats_t *stats) |
| Get pipeline statistics. | |
| FLECS_API void | ecs_pipeline_stats_fini (ecs_pipeline_stats_t *stats) |
| Free pipeline stats. | |
| FLECS_API void | ecs_pipeline_stats_reduce (ecs_pipeline_stats_t *dst, const ecs_pipeline_stats_t *src) |
| Reduce source measurement window into single destination measurement. | |
| FLECS_API void | ecs_pipeline_stats_reduce_last (ecs_pipeline_stats_t *stats, const ecs_pipeline_stats_t *old, int32_t count) |
| Reduce last measurement into previous measurement, restore old value. | |
| FLECS_API void | ecs_pipeline_stats_repeat_last (ecs_pipeline_stats_t *stats) |
| Repeat last measurement. | |
| FLECS_API void | ecs_pipeline_stats_copy_last (ecs_pipeline_stats_t *dst, const ecs_pipeline_stats_t *src) |
| Copy last measurement to destination. | |
| FLECS_API void | ecs_metric_reduce (ecs_metric_t *dst, const ecs_metric_t *src, int32_t t_dst, int32_t t_src) |
| Reduce all measurements from a window into a single measurement. | |
| FLECS_API void | ecs_metric_reduce_last (ecs_metric_t *m, int32_t t, int32_t count) |
| Reduce last measurement into previous measurement. | |
| FLECS_API void | ecs_metric_copy (ecs_metric_t *m, int32_t dst, int32_t src) |
| Copy measurement. | |
| FLECS_API | ECS_COMPONENT_DECLARE (FlecsStats) |
| Flecs stats module. | |
| FLECS_API | ECS_COMPONENT_DECLARE (EcsWorldStats) |
| Component id for EcsWorldStats. | |
| FLECS_API | ECS_COMPONENT_DECLARE (EcsWorldSummary) |
| Component id for EcsWorldSummary. | |
| FLECS_API | ECS_COMPONENT_DECLARE (EcsSystemStats) |
| Component id for EcsSystemStats. | |
| FLECS_API | ECS_COMPONENT_DECLARE (EcsPipelineStats) |
| Component id for EcsPipelineStats. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_entities_memory_t) |
| Component id for ecs_entities_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_component_index_memory_t) |
| Component id for ecs_component_index_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_query_memory_t) |
| Component id for ecs_query_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_component_memory_t) |
| Component id for ecs_component_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_table_memory_t) |
| Component id for ecs_table_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_misc_memory_t) |
| Component id for ecs_misc_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_table_histogram_t) |
| Component id for ecs_table_histogram_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (ecs_allocator_memory_t) |
| Component id for ecs_allocator_memory_t. | |
| FLECS_API | ECS_COMPONENT_DECLARE (EcsWorldMemory) |
| Component id for EcsWorldMemory. | |
| FLECS_API ecs_entities_memory_t | ecs_entity_memory_get (const ecs_world_t *world) |
| Memory statistics getters. | |
| void | ecs_component_record_memory_get (const ecs_component_record_t *cr, ecs_component_index_memory_t *result) |
| Get memory usage statistics for single component record. | |
| FLECS_API ecs_component_index_memory_t | ecs_component_index_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for the component index. | |
| FLECS_API void | ecs_query_memory_get (const ecs_query_t *query, ecs_query_memory_t *result) |
| Get memory usage statistics for single query. | |
| FLECS_API ecs_query_memory_t | ecs_queries_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for queries. | |
| void | ecs_table_component_memory_get (const ecs_table_t *table, ecs_component_memory_t *result) |
| Get component memory for table. | |
| FLECS_API ecs_component_memory_t | ecs_component_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for components. | |
| void | ecs_table_memory_get (const ecs_table_t *table, ecs_table_memory_t *result) |
| Get memory usage statistics for single table. | |
| FLECS_API ecs_table_memory_t | ecs_tables_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for tables. | |
| FLECS_API ecs_table_histogram_t | ecs_table_histogram_get (const ecs_world_t *world) |
| Get number of tables by number of entities in the table. | |
| FLECS_API ecs_misc_memory_t | ecs_misc_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for commands. | |
| FLECS_API ecs_allocator_memory_t | ecs_allocator_memory_get (const ecs_world_t *world) |
| Get memory usage statistics for allocators. | |
| FLECS_API ecs_size_t | ecs_memory_get (const ecs_world_t *world) |
| Get total memory used by world. | |
| FLECS_API void | FlecsStatsImport (ecs_world_t *world) |
| Stats module import function. | |
Variables | |
| FLECS_API ecs_entity_t | EcsPeriod1s |
| Tag used for metrics collected in last second. | |
| FLECS_API ecs_entity_t | EcsPeriod1m |
| Tag used for metrics collected in last minute. | |
| FLECS_API ecs_entity_t | EcsPeriod1h |
| Tag used for metrics collected in last hour. | |
| FLECS_API ecs_entity_t | EcsPeriod1d |
| Tag used for metrics collected in last day. | |
| FLECS_API ecs_entity_t | EcsPeriod1w |
| Tag used for metrics collected in last week. | |
Collection of statistics for world, queries, systems and pipelines.
| #define ECS_TABLE_MEMORY_HISTOGRAM_BUCKET_COUNT 14 |
| #define ECS_TABLE_MEMORY_HISTOGRAM_MAX_COUNT (1 << ECS_TABLE_MEMORY_HISTOGRAM_BUCKET_COUNT) |
| FLECS_API ecs_allocator_memory_t ecs_allocator_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for allocators.
| world | The world. |
| FLECS_API ecs_component_index_memory_t ecs_component_index_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for the component index.
| world | The world. |
| FLECS_API ecs_component_memory_t ecs_component_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for components.
| world | The world. |
| void ecs_component_record_memory_get | ( | const ecs_component_record_t * | cr, |
| ecs_component_index_memory_t * | result ) |
Get memory usage statistics for single component record.
| cr | The component record. |
| result | Memory statistics for component record (out). |
| FLECS_API ecs_entities_memory_t ecs_entity_memory_get | ( | const ecs_world_t * | world | ) |
Memory statistics getters.
Get memory usage statistics for the entity index.
| world | The world. |
| FLECS_API ecs_size_t ecs_memory_get | ( | const ecs_world_t * | world | ) |
Get total memory used by world.
| world | The world. |
| FLECS_API ecs_misc_memory_t ecs_misc_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for commands.
| world | The world. |
| FLECS_API void ecs_pipeline_stats_copy_last | ( | ecs_pipeline_stats_t * | dst, |
| const ecs_pipeline_stats_t * | src ) |
Copy last measurement to destination.
This operation copies the last measurement into the destination. It does not modify the cursor.
| dst | The metrics. |
| src | The metrics to copy. |
| FLECS_API void ecs_pipeline_stats_fini | ( | ecs_pipeline_stats_t * | stats | ) |
Free pipeline stats.
| stats | The stats to free. |
| FLECS_API bool ecs_pipeline_stats_get | ( | ecs_world_t * | world, |
| ecs_entity_t | pipeline, | ||
| ecs_pipeline_stats_t * | stats ) |
Get pipeline statistics.
Obtain statistics for the provided pipeline.
| world | The world. |
| pipeline | The pipeline. |
| stats | Out parameter for statistics. |
| FLECS_API ecs_query_memory_t ecs_queries_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for queries.
| world | The world. |
| FLECS_API void ecs_query_memory_get | ( | const ecs_query_t * | query, |
| ecs_query_memory_t * | result ) |
Get memory usage statistics for single query.
| query | The query. |
| result | Memory statistics for query (out). |
| FLECS_API void ecs_query_stats_get | ( | const ecs_world_t * | world, |
| const ecs_query_t * | query, | ||
| ecs_query_stats_t * | stats ) |
Get query statistics.
Obtain statistics for the provided query.
| world | The world. |
| query | The query. |
| stats | Out parameter for statistics. |
| FLECS_API bool ecs_system_stats_get | ( | const ecs_world_t * | world, |
| ecs_entity_t | system, | ||
| ecs_system_stats_t * | stats ) |
Get system statistics.
Obtain statistics for the provided system.
| world | The world. |
| system | The system. |
| stats | Out parameter for statistics. |
| void ecs_table_component_memory_get | ( | const ecs_table_t * | table, |
| ecs_component_memory_t * | result ) |
Get component memory for table.
| table | The table. |
| result | The memory used by components stored in this table (out). |
| FLECS_API ecs_table_histogram_t ecs_table_histogram_get | ( | const ecs_world_t * | world | ) |
Get number of tables by number of entities in the table.
| world | The world. |
| void ecs_table_memory_get | ( | const ecs_table_t * | table, |
| ecs_table_memory_t * | result ) |
Get memory usage statistics for single table.
| table | The table. |
| result | Memory statistics for table (out). |
| FLECS_API ecs_table_memory_t ecs_tables_memory_get | ( | const ecs_world_t * | world | ) |
Get memory usage statistics for tables.
| world | The world. |
| FLECS_API void ecs_world_stats_get | ( | const ecs_world_t * | world, |
| ecs_world_stats_t * | stats ) |
Get world statistics.
| world | The world. |
| stats | Out parameter for statistics. |
| FLECS_API void FlecsStatsImport | ( | ecs_world_t * | world | ) |