Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a section for scalar vs. timeseries in wildcard widget #26324

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

estherk15
Copy link
Contributor

@estherk15 estherk15 commented Nov 15, 2024

What does this PR do? What is the motivation?

  • Add a section on the difference between timeseries and scalar types
  • DOCS-9326

Merge instructions

Merge queue is enabled in this repo. To have it automatically merged after it receives the required reviews, create the PR (from a branch that follows the <yourname>/description naming convention) and then add the following PR comment:

/merge

Additional notes

@estherk15 estherk15 requested a review from a team as a code owner November 15, 2024 21:07
Copy link
Contributor

Preview links (active after the build_preview check completes)

Modified Files

Copy link
Member

@hydrosquall hydrosquall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for looking into this change 🙇

I left some feedback about distinguishing request types from visualization types, let me know if discussing some parts of this live would be helpful.

@@ -41,6 +42,22 @@ However, if none of the Datadog widgets meets your visualization needs, a Wildca
1. (Optional) Debug Vega-Lite specification mismatches with [Data Preview](#data-preview). Make sure the query in your Vega-Lite specification maps to the Datadog query.
1. Click **Save**.

#### Formulas Scalar vs. Formulas Timeseries

In Datadog dashboards, scalar and timeseries visualizations serve different purposes and are used to represent data in distinct ways.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Visualization might not be the noun we're looking for, we are referring to a data format (which has a corresponding "request type". Maybe something like

visualizations are powered by a multiple request types, including scalar and timeseries. Each request types changes the number and type of fields available for the data in a Wildcard Widget.

There are 2 other request types in the widget selector which are GA, List and Histogram. It's OK to not explain what all 4 of them in 1 PR, but we don't want people to have the impression that there are only 2 request types.

Copy link
Contributor Author

@estherk15 estherk15 Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In Datadog dashboards, scalar and timeseries visualizations serve different purposes and are used to represent data in distinct ways.
In Datadog dashboards, visualizations are powered by a multiple _request types_, including scalar and timeseries. Each _request type_ changes the number and type of fields available for the data in a Wildcard widget.

- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.

**Scalar**
: This visualization presents a single, aggregate value derived from your data.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This describes the "query value" case, but doesn't fully describe how the scalar endpoint is used. The scalar endpoint powers the toplist, treemap, sumburst, and table widgets because 1 value is produced per groupBy and per formula .

I think that referring to these two sections as describing "data formats" rather than "visualization types" may make this easier to follow.

I think the takeaway that "if you need to describe a change over time, use timeseries, otherwise prefer scalar" works well for this section.

We may also want to touch briefly on why "Formulas" appears in the title. The other two request formats (histogram, list), are not compatible with Functions API (also called "Formulas and Functions" / "F+F" internally), which is why only Scalar/Timeseries have the formulas prefix.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: This visualization presents a single, aggregate value derived from your data.
: This data format presents a single, aggregate value derived from your data. The scalar endpoint powers the toplist, treemap, pie chart, and table widgets because 1 value is produced per `groupBy` and per `formula`.

**Timeseries**
: This visualization is designed to display how your data changes over time.
- **Use-cases**: It's ideal for monitoring metrics that fluctuate, such as CPU usage, memory consumption, or request rates. It helps identify trends, patterns, and anomalies over a specified time range.
- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure we need to keep this section (since we are trying to focus convey that the request type is something that is independent of the visualization type - timeseries queries also can be used in the Heatmap widget), but if we do, DD timeseries are drawn in bar mode too (likely more frequently than areas).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I'll remove the appearance section for both!

Suggested change
- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.

Copy link
Contributor Author

@estherk15 estherk15 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review @hydrosquall! I made changes from your suggestions, let me know if I missed anything!

@@ -41,6 +42,22 @@ However, if none of the Datadog widgets meets your visualization needs, a Wildca
1. (Optional) Debug Vega-Lite specification mismatches with [Data Preview](#data-preview). Make sure the query in your Vega-Lite specification maps to the Datadog query.
1. Click **Save**.

#### Formulas Scalar vs. Formulas Timeseries

In Datadog dashboards, scalar and timeseries visualizations serve different purposes and are used to represent data in distinct ways.
Copy link
Contributor Author

@estherk15 estherk15 Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In Datadog dashboards, scalar and timeseries visualizations serve different purposes and are used to represent data in distinct ways.
In Datadog dashboards, visualizations are powered by a multiple _request types_, including scalar and timeseries. Each _request type_ changes the number and type of fields available for the data in a Wildcard widget.

**Timeseries**
: This visualization is designed to display how your data changes over time.
- **Use-cases**: It's ideal for monitoring metrics that fluctuate, such as CPU usage, memory consumption, or request rates. It helps identify trends, patterns, and anomalies over a specified time range.
- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I'll remove the appearance section for both!

Suggested change
- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.

**Scalar**
: This visualization presents a single, aggregate value derived from your data.
- **Use-cases**: It's best for displaying key performance indicators (KPIs) or summary statistics such as averages, sums, or percentiles. It provides a summary view of the current state or a specific metric.
- **Appearance**: Scalars often appear as large, standalone numbers or small cards on dashboards, highlighting the most relevant statistics, like the current number of active users, or the sum of errors over the last hour.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Appearance**: Scalars often appear as large, standalone numbers or small cards on dashboards, highlighting the most relevant statistics, like the current number of active users, or the sum of errors over the last hour.

- **Appearance**: These visualizations are typically line or area charts. They show datapoints plotted against time (usually on the x-axis), to observe changes and trends.

**Scalar**
: This visualization presents a single, aggregate value derived from your data.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: This visualization presents a single, aggregate value derived from your data.
: This data format presents a single, aggregate value derived from your data. The scalar endpoint powers the toplist, treemap, pie chart, and table widgets because 1 value is produced per `groupBy` and per `formula`.


**Scalar**
: This visualization presents a single, aggregate value derived from your data.
- **Use-cases**: It's best for displaying key performance indicators (KPIs) or summary statistics such as averages, sums, or percentiles. It provides a summary view of the current state or a specific metric.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Use-cases**: It's best for displaying key performance indicators (KPIs) or summary statistics such as averages, sums, or percentiles. It provides a summary view of the current state or a specific metric.
- **Use-cases**: It's best for displaying key performance indicators (KPIs) or summary statistics such as averages, sums, or percentiles. It provides a summary view of the current state or a specific metric. If you are not describing changes over time, use Scalar.

- **Use-cases**: It's best for displaying key performance indicators (KPIs) or summary statistics such as averages, sums, or percentiles. It provides a summary view of the current state or a specific metric.
- **Appearance**: Scalars often appear as large, standalone numbers or small cards on dashboards, highlighting the most relevant statistics, like the current number of active users, or the sum of errors over the last hour.

Timeseries visualizations emphasize data trends over time, scalar visualizations focus on presenting single, computed values that help with quick assessments. If you're going to visualize time on an axis, or need individual time buckets, choose the Timeseries type. However, if you're not vizualizing against time, choose the Scalar type as it's much more performant.
Copy link
Contributor Author

@estherk15 estherk15 Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Timeseries visualizations emphasize data trends over time, scalar visualizations focus on presenting single, computed values that help with quick assessments. If you're going to visualize time on an axis, or need individual time buckets, choose the Timeseries type. However, if you're not vizualizing against time, choose the Scalar type as it's much more performant.
The Timeseries data format emphasizes data trends over time, while the Scalar format focuses on presenting single, computed values for quick assessments. Choose the Timeseries type if you need to visualize time on an axis or require individual time buckets. If not visualizing against time, select the Scalar type for performance.
**Note**: The "Formulas" prefix is used specifically for Scalar and Timeseries formats because they are compatible with the [Functions API][18]. The other formats, such as Histogram and List, do not support this API.

In Datadog dashboards, scalar and timeseries visualizations serve different purposes and are used to represent data in distinct ways.

**Timeseries**
: This visualization is designed to display how your data changes over time.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: This visualization is designed to display how your data changes over time.
: This data format is designed to display how your data changes over time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants