kibana/x-pack/test/functional
Abdul Wahab Zahid d003ae3023
[Dataset quality] EBT for Datasets table and Dataset Details (#187125)
Implement the Event Based Telemetry for Datasets table (main
page) and the Dataset details (the flyout at the time of
writing).

The following EBT events are reported:
- `"Dataset Quality Navigated"`
- `"Dataset Quality Dataset Details Opened"`
- `"Dataset Quality Dataset Details Navigated"`

The above allow to track the following:
1. Used query, available and chosen filters for "Integrations",
"Namespaces" and "Qualities" when user clicks on the degraded documents
percentage link (with `_ignored` filter) from main table's column or
"Open" link from row actions.
2. Dataset health, percentage of degraded documents, duration to load
and breakdown field when user opens the flyout.
3. All included in 2 plus whether `_ignored` filter is present in
navigation, source and target of the navigation when user navigates away
from the flyout.
4. All events also track selected date range and user's privileges state
for the respective data stream.


### Main page - Datasets table
Event Name: `"Dataset Quality Navigated"`
This event is reported whenever a degraded percentage link or "Open"
link is navigated to on the main datasets table.

The following properties are tracked:

### <a name="dqn" >Properties</a>
| Property | Type | Schema Type | Description |
| --- | --- | --- | --- |
| `index_name` | string | keyword | The name of the index e.g.
`logs-apache.access-default` |
| `data_stream` | object | object | Object containing [ECS Data Stream
Fields](https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html)
i.e. `dataset`, `namespace`, and `type` |
| `data_stream_health` | object | keyword | Any of `"poor"`,
`"degraded"` and `"good"` representing the health/quality of data stream
|
| `data_stream_aggregatable` | boolean | boolean | A boolean indicating
whether the data stream is aggregatable for the `_ignored` field |
| `from` | string | date | ISO start date string selected on datepicker
|
| `to` | string | date | ISO end date string selected on datepicker |
| `degraded_percentage` | number | float | A number representing the
percentage of degraded documents in the data stream |
| `integration` | string (optional) | keyword | An optional string
representing the integration name associated with the dataset |
| `privileges` | object | object | An object representing the
privileges. It includes `can_monitor_data_stream`,
`can_view_integrations`, and an optional `can_view_dashboards`. All are
boolean. |
| `filters` | object | object | An object containing filter details. It
includes `is_degraded`, `query_length`, `integrations`, `namespaces`,
and `qualities`. See below for more details |

The `filters` property is an object with the following sub-properties:

| <div style="min-width:80px">Sub-Property</div> | <div
style="min-width:60px">Type</div> | <div style="min-width:60px">Schema
Type</div> | Description |
| --- | --- | --- | --- |
| `is_degraded` | boolean | boolean | A boolean indicating whether
navigation included `ignored` filter |
| `query_length` | number | short | The length of the query used |
| `integrations` | object | object | An object including `total`,
`included`, and `excluded` properties representing applied filters. |
| `namespaces` | object | object | An object including `total`,
`included`, and `excluded` properties representing applied filters |
| `qualities` | object | object | An object including `total`,
`included`, and `excluded` properties representing applied filters |

### Details page - Flyout

Event `"Dataset Quality Dataset Details Opened"` is reported when flyout
is opened whereas `"Dataset Quality Dataset Details Navigated"` is
reported when a link is clicked on the flyout which navigates the user
away from Dataset Quality page. Important properties are tracked which
help analyse the state user had before the navigation e.g. breakdown
field, selected date range and whether user clicked the degraded docs or
all docs link.

_Note that, the flyout is expected to be converted into a routed page,
hence "Dataset Details" is used for event names instead of the flyout._

#### Properties
`"Dataset Quality Dataset Details Opened"` only differs from [`"Dataset
Quality Navigated"`](#dqn) by the following properties:

| <div style="min-width:80px">Property</div> | <div
style="min-width:60px">Type</div> | <div style="min-width:60px">Schema
Type</div> | Description |
| --- | --- | --- | --- |
| `tracking_id` | string | keyword | Id to group flyout opening and
navigation for funnel analysis |
| `duration` | number | long | Time it took in milliseconds from opening
the flyout until the data stream details are available |
| `breakdown_field` | string (optional) | keyword | Fields used to break
the chart down by |

`"Dataset Quality Dataset Details Navigated"` only differs from
[`"Dataset Quality Navigated"`](#dqn) by the following properties:

| <div style="min-width:80px">Property</div> | <div
style="min-width:60px">Type</div> | <div style="min-width:60px">Schema
Type</div> | Description |
| --- | --- | --- | --- |
| `tracking_id` | string | keyword | Id to group flyout opening and
navigation for funnel analysis |
| `filters` | object | object | `{ "is_degraded": <boolean> }` which
represent whether the user is navigating with `_ignored` filter applied|
| `breakdown_field` | string (optional) | keyword | Fields used to break
the chart down by |
| `target` | enum value | keyword | Action that user took to navigate
away from the dataset details page. Possible values are `Exit`,
`LogsExplorer`, `Discover`, `Lens`, `Integration`, `IndexTemplate`,
`Dashboard`, `Hosts` and `Services` |
| `source` | enum value | keyword | Section of dataset details page the
action is originated from. Possible values are `"Header"`, `"Footer"`,
`"Summary"`, `"Chart"`, `"Table"` and `"ActionMenu"` |
2024-07-02 11:26:26 +02:00
..
apps [Dataset quality] EBT for Datasets table and Dataset Details (#187125) 2024-07-02 11:26:26 +02:00
es_archives [ML] Update esarchive ecommerce dataset, enable alerting flyout tests (#186630) 2024-06-24 06:55:29 -07:00
fixtures [Lens] Change legendStats from values to currentAndLastValue/value (#181993) 2024-04-30 08:04:02 -07:00
page_objects [ILM] Add unsaved change prompt to create/edit form (#186837) 2024-06-27 14:10:45 -04:00
screenshots/baseline [FTR] Switch to new browser headless mode (#153828) 2023-04-04 15:53:56 +02:00
services Redesign the "Add Panel" Experience (#183764) 2024-06-26 13:55:28 -07:00
config.base.js [Logs Explorer] Rename test subjects and page objects (#175711) 2024-01-30 15:21:38 +00:00
config.ccs.ts CCS Tests for Machine Learning (#144869) 2022-11-14 11:31:27 -05:00
config.edge.js [ftr] automatically determine config run order (#130983) 2022-05-04 17:05:58 -05:00
config.firefox.js unskip tests for chrome, fix tags (#158405) 2023-05-26 09:19:53 +01:00
config.upgrade_assistant.ts [ML] Transforms: Enable SLO transforms installer on CI (#165470) 2023-09-22 17:13:38 +02:00
config_security_basic.ts [ftr] automatically determine config run order (#130983) 2022-05-04 17:05:58 -05:00
ftr_provider_context.ts
README.md

Kibana Functional Testing

See our Functional Testing Guide