You can add monitoring Panels using the Python API or the Evidently Cloud user interface.
Here is the general flow:
Define the Panel type: Counter, Plot, Distribution, Test Counter, or Test Plot. (See Panel types).
Specify panel title and size.
Add optional Tags to filter data. Without Tags, the Panel will use data from all Project snapshots.
Select Panel parameters, e.g., aggregation level.
Define the Panel value(s) to show:
For Test Panels, specify test_id.
For Metric and Distribution Panels, specify metric_id and field_path.
If applicable, pass test_args or metric_args to identify the exact value when they repeat in a snapshot. For instance, to plot the mean value of a given column, pass the column name as an argument.
This page explains each step in detail.
Add a new Panel
You can add monitoring Panels using the Python API, or directly in the user interface (Evidently Cloud or Enterprise).
Enter "edit" mode on the Dashboard (top right corner) and click "add Panel." Follow the steps to create a Panel. You can Preview the Panel before publishing.
Some tips:
Use the "Show description" toggle to get help on specific steps.
You can identify the field_path in two ways. Use the "Manual mode" toggle to switch.
Default mode displays popular values from existing Project snapshots.
Manual mode mirrors the Python API. You can select any value, even if it's not yet in the Project. Note that the Panel may be empty until you add the snapshot.
Connect to a Project. Load the latest dashboard configuration into your Python environment.
project = ws.get_project("YOUR PROJECT ID HERE")
Add a new Panel. Use the add_panel method and pass the parameters. You can add multiple Panels: they will appear in the listed order. Save the configuration with project.save().
Go back to the web app to see the Dashboard. Refresh the page if needed.
Connect to a Project. Load the latest dashboard configuration into your Python environment.
project = ws.get_project("YOUR PROJECT ID HERE")
Add a new Test Panel. Use the add_panel method, set include_test_suites=True and pass the parameters. You can add multiple Panels: they will appear in the listed order. Save the configuration with project.save().
Filtered by Test ID and Test Args. To show the results of individual column-level Tests with daily aggregation, you must use both test_id and test_arg (column name):
To define the value to show on a Metric Panel (Counter, Distribution, or Plot), you must pass the PanelValue. This includes source metric_id, field_path and metric_args.
See examples to specify the field_path:
Exact field name. To include the share_of_drifted_columns available inside the DatasetDriftMetric():
Metric parameters as arguments. To specify the euclidean drift detection method (when results from multiple methods are logged inside a snapshot) using metric_args:
Let's take an example of DataDriftPreset(). It contains two Metrics: DatasetDriftMetric() and DataDriftTable(). (Check the Preset ccomposition.
You can point to any of them as a metric_id, depending on what you’d like to plot.
Most Metrics contain multiple measurements inside (MetricResults) and some render data. To point to the specific value, use the field path.
To find available fields in the chosen Metric, you can explore the contents of the individual snapshot or use automated suggestions in UI or Python.
Each snapshot is a JSON file. You can download or open it in Python to see the available fields.
Alternatively, you can generate a Report with the selected Metrics on any test data. Get the output as a Python dictionary using as_dict() and explore the keys with field names.
Here is a partial example of the contents of DatasetDriftMetric():
Once you identify the value you’d like to plot (e.g., number_of_drifted_columns), pass it as the field_path to the PanelValue parameter. Include the DatasetDriftMetric as the metric_id.
Other Metrics and Tests follow the same logic.
You can use autocomplete in interactive Python environments (like Jupyter notebook or Colab) to see available fields inside a specific Metric. They appear as you start typing the .fields. path for a specific Metric.
Note: some types of values (e.g. mean, sum, max, min) will not be visible using this method. This is because they match the names of the standard Python fields.
When working in the Evidently Cloud, you can see available fields in the drop-down menu as you add a new Panel.
Note that some data inside the snapshots cannot currently be plotted on a monitoring Dashboard (for example, render data or dictionaries). You can only plot values that exist as individual data points or histograms.