11#ifndef O2_FRAMEWORK_DATAPROCESSINGSTATS_H_
12#define O2_FRAMEWORK_DATAPROCESSINGSTATS_H_
88 enum struct Op :
char {
122 unsigned short id = 0;
132 unsigned short id = 0;
184 std::array<Command, MAX_CMDS>
cmds = {};
185 std::array<int64_t, MAX_METRICS>
metrics = {};
GLuint const GLchar * name
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLsizei GLenum const void GLuint GLsizei GLfloat * metrics
GLsizei const GLfloat * value
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
Defining PrimaryVertex explicitly as messageable.
ServiceKind
The kind of service we are asking for.
@ LAST_SLOW_METRIC_SENT_TIMESTAMP
@ BEGIN_ITERATION_TIMESTAMP
@ LAST_METRIC_FLUSHED_TIMESTAMP
@ LAST_VERY_SLOW_METRIC_SENT_TIMESTAMP
@ AVAILABLE_MANAGED_SHM_BASE
@ SHM_OFFER_BYTES_CONSUMED
@ DROPPED_INCOMING_MESSAGES
@ ARROW_MESSAGES_DESTROYED
@ LAST_REPORTED_PERFORMED_COMPUTATIONS
int64_t minOnlinePublishInterval
int64_t minPublishInterval
How many milliseconds must have passed since the last publishing.
int64_t defaultValue
The default value for the metric.
Scope scope
The scope of the metric.
Kind kind
The kind of the metric.
uint64_t maxRefreshLatency
Helper struct to hold statistics about the data processing happening.
std::atomic< int > pendingCmds
std::array< bool, MAX_METRICS > updated
void registerMetric(MetricSpec const &spec)
std::array< MetricSpec, MAX_METRICS > metricSpecs
int64_t pushedMetricsTotal
std::atomic< size_t > statesSize
std::vector< int > availableMetrics
int64_t publishingInvokedTotal
int64_t lastFlushedToRemote
int64_t publishedMetricsTotal
std::function< int64_t(int64_t base, int64_t offset)> getTimestamp
std::atomic< int64_t > updatedMetricsLapse
@ SetIfPositive
Set the value to the specified value.
@ InstantaneousRate
Update the rate of the metric given the cumulative value since last time it got published.
@ Max
Subtract the value from the current value.
@ Min
Set the value to the maximum of the current value and the specified value.
@ CumulativeRate
Set the value to the specified value if it is positive.
@ Sub
Add the value to the current value.
@ Add
Update the rate of the metric given the amount since the last time.
void updateStats(CommandSpec cmd)
int64_t initialTimeOffset
std::array< std::string, MAX_METRICS > metricsNames
int64_t publishedMetricsLapse
std::array< Command, MAX_CMDS > cmds
std::atomic< int > nextCmd
std::atomic< int > insertedCmds
void flushChangedMetrics(std::function< void(MetricSpec const &, int64_t, int64_t)> const &callback)
std::array< int64_t, MAX_METRICS > lastPublishedMetrics
std::function< void(int64_t &base, int64_t &offset)> getRealtimeBase
int64_t updatedMetricsTotal
static constexpr unsigned short MAX_METRICS
void processCommandQueue()
std::array< UpdateInfo, MAX_METRICS > updateInfos
int64_t pushedMetricsLapse
static constexpr ServiceKind service_kind
static constexpr short MAX_CMDS
int64_t publishingDoneTotal