Visualisation
How it works
To perform visualization, the Event Engine needs influxDB and grafana (tested on influxDB 1.1.1 and grafana 4.0.2 versions) or Power BI. Metrics are passed to influxDB by EVE_Core application, and then they are visualized by grafana. All requests processed by EVE_Core in specified time are passed to Metric Processor, that counts statistics and saves them in influxDB database. EVE_Core passes a JSON request, JSON response, clientId and request type to the Metric Processor. In grafana, influx is defined as DataSource, from which metrics are downloaded. EVE_Core do not connect with grafana.
Configuration
Influx parameters are defined in EVE_Core config file, as well as other parameters for metrics.
List of parameters:
metrics_destination - INFLUX_DB if statistics will be sent to influx, POWER_BI if statistics will be sent to Power BI, NONE if statistics will not be counted
influx_db_url - url address of influx, for example: http://127.0.0.1:8086
influx_db_user - user name
influx_db_password - user password
influx_db_database - database name
influx_db_retention_policy - retention policy name (retention policy describes how long InfluxDB keeps data)
custom_request_fields - fields from an incoming event used as grouping in metrics' values aggregation
metric_processed_times - defines how often the number of events occured will be counted
metric_time_window - defines how often metrics will be sent to influx, defined in seconds
aggregate_time_window - used by MeanScoreMetric, counts average value of score in given time window, defined in seconds (can't be less then metric_time_window)
max_metric_calculation_threads - maximum number of threads used to count metrics. The number of threads is set by the number of calculated metrics, but can't be bigger then maximum number of threads.
event_request_metrics - metrics names for events of EVENT type, available metrics:
MeanScoreMetric
ProcessedRequestsMetric
WinPrcMetric
BidPrcMetric
profile_request_metrics - metrics names for events of PROFILE type
Available metrics
Processed Requests Metric
This metric presents the number of processed requests in specified time window (defined as metric_time_window parameter), including the number of incorrect requests and scored request. Statistics are aggregated per clientId and fields defined in custom_request_fields.
Fields in JSON send to grafana (influx name: processed_requests, all fields are numeric):
processed
processed_time_[number from config]
scored
errors
min_time
max_time
mean_time
sum_time
Mean Score Metric
This metric presents mean score for every clientId and modelId and fields defined in custom_request_fields.Time window is defined in aggregate_time_window, with shift defined in metric_time_window parameter.
In programmatic, a suggested bidding price is returned instead of score.
Fields in JSON send to grafana (influx name: score, all fields except of modelId are numeric):
min_score
max_score
mean_score
sum_score
scores_count
modelId (text)
WinPrcMetric*
WinPrcMetric - price paid for a won view
Fields in JSON send to grafana (influx name: win_prc, all fields are numeric):
min_win_prc
max_win_prc
mean_win_prc
sum_win_prc
count_win_prc
BidPrcMetric*
BidPrcMetric - bidded price (from bid response)
Fields in JSON send to grafana (influx name: bid_prc, all fields are numeric):
min_bid_prc
max_bid_prc
mean_bid_prc
sum_bid_prc
count_bid_prc
*(Metrics only used in programmatic)
Last updated