123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- #ifndef CNSTREAM_FRAMEWORK_CORE_INCLUDE_PROFILER_PROFILE_HPP_
- #define CNSTREAM_FRAMEWORK_CORE_INCLUDE_PROFILER_PROFILE_HPP_
- #include <string>
- #include <utility>
- #include <vector>
- namespace cnstream {
- struct StreamProfile {
- std::string stream_name;
- uint64_t counter = 0;
- uint64_t completed = 0;
- int64_t dropped = 0;
- double latency = 0.0;
- double maximum_latency = 0.0;
- double minimum_latency = 0.0;
- double fps = 0.0;
-
- StreamProfile() = default;
-
- StreamProfile(const StreamProfile& it) = default;
-
- StreamProfile& operator=(const StreamProfile& it) = default;
-
- inline StreamProfile(StreamProfile&& it) {
- *this = std::forward<StreamProfile>(it);
- }
-
- inline StreamProfile& operator=(StreamProfile&& it) {
- stream_name = std::move(it.stream_name);
- counter = it.counter;
- completed = it.completed;
- dropped = it.dropped;
- latency = it.latency;
- maximum_latency = it.maximum_latency;
- minimum_latency = it.minimum_latency;
- fps = it.fps;
- return *this;
- }
- };
- struct ProcessProfile {
- std::string process_name;
- uint64_t counter = 0;
- uint64_t completed = 0;
- int64_t dropped = 0;
- int64_t ongoing = 0;
- double latency = 0.0;
- double maximum_latency = 0.0;
- double minimum_latency = 0.0;
- double fps = 0.0;
- std::vector<StreamProfile> stream_profiles;
-
- ProcessProfile() = default;
-
- ProcessProfile(const ProcessProfile& it) = default;
-
- ProcessProfile& operator=(const ProcessProfile& it) = default;
-
- inline ProcessProfile(ProcessProfile&& it) {
- *this = std::forward<ProcessProfile>(it);
- }
-
- inline ProcessProfile& operator=(ProcessProfile&& it) {
- process_name = std::move(it.process_name);
- stream_profiles = std::move(it.stream_profiles);
- counter = it.counter;
- completed = it.completed;
- ongoing = it.ongoing;
- dropped = it.dropped;
- latency = it.latency;
- maximum_latency = it.maximum_latency;
- minimum_latency = it.minimum_latency;
- fps = it.fps;
- return *this;
- }
- };
- struct ModuleProfile {
- std::string module_name;
- std::vector<ProcessProfile> process_profiles;
-
- ModuleProfile() = default;
-
- ModuleProfile(const ModuleProfile& it) = default;
-
- ModuleProfile& operator=(const ModuleProfile& it) = default;
-
- inline ModuleProfile(ModuleProfile&& it) {
- *this = std::forward<ModuleProfile>(it);
- }
-
- inline ModuleProfile& operator=(ModuleProfile&& it) {
- module_name = std::move(it.module_name);
- process_profiles = std::move(it.process_profiles);
- return *this;
- }
- };
- struct PipelineProfile {
- std::string pipeline_name;
- std::vector<ModuleProfile> module_profiles;
- ProcessProfile overall_profile;
-
- PipelineProfile() = default;
-
- PipelineProfile(const PipelineProfile& it) = default;
-
- PipelineProfile& operator=(const PipelineProfile& it) = default;
-
- inline PipelineProfile(PipelineProfile&& it) {
- *this = std::forward<PipelineProfile>(it);
- }
-
- inline PipelineProfile& operator=(PipelineProfile&& it) {
- pipeline_name = std::move(it.pipeline_name);
- module_profiles = std::move(it.module_profiles);
- overall_profile = std::move(it.overall_profile);
- return *this;
- }
- };
- }
- #endif
|