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

Change interval while viewing a dashboard, without editing? #106357

Closed
GrahamHannington opened this issue Jul 21, 2021 · 5 comments
Closed

Change interval while viewing a dashboard, without editing? #106357

GrahamHannington opened this issue Jul 21, 2021 · 5 comments
Labels
enhancement New value added to drive a business result Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas

Comments

@GrahamHannington
Copy link

Introduce a "global interval" to dashboards, so that users who are interested in a specific interval can set that value (reflected in a URL parameter), and have all time-based charts on a dashboard honor that interval, without editing; that is, without needing to create a new dashboard with all time-based charts set to that particular fixed interval.

Use case: See the Elastic Kibana discussion forum topic that prompted this feature request: "Change interval while viewing a dashboard, without editing?".

@botelastic botelastic bot added the needs-team Issues missing a team label label Jul 21, 2021
@Dosant Dosant added enhancement New value added to drive a business result Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas labels Jul 21, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@botelastic botelastic bot removed the needs-team Issues missing a team label label Jul 21, 2021
@GrahamHannington
Copy link
Author

GrahamHannington commented Jul 26, 2021

Custom auto interval steps?

Follow up comment from the user whose feedback prompted this issue (feature request):

For a dashboard with a one-week time range, can we set the chart intervals to one hour?

To my knowledge, apart from setting a lower limit (e.g. >=1m), there's no way to customize the behavior of the auto interval. Its "steps" are hardcoded (um, in calc_auto_interval.ts?).

I understand that this is potentially veering into a separate feature request, but it's so closely related: if those auto interval steps were exposed as Kibana settings, then, for some use cases, that would remove the requirement for the "global interval" suggested in this feature request. I understand that exposing these steps enables users to do "to themselves" what the auto interval is designed to avoid: too many data points to chart.

@GrahamHannington
Copy link
Author

GrahamHannington commented Jul 26, 2021

Interval determined by field value?

Another closely related point, which could be a separate feature request...

The frequency of the data that I'm ingesting—its "collection interval"; the difference between @timestamp field values in consecutive events—can be changed by the user, "upstream" of the Elastic Stack. It would be nice if the minimum interval of Kibana charts could be sensitive to that, without requiring editing, based on a time period supplied in the incoming data.

Currently, I've deliberately set the interval of charts for this data to be >=1m, where 1 minute is the typical collection interval. I've done that to prevent users from zooming into charts beyond the granularity, the resolution, of the underlying data. There's not much point setting a chart interval of 10 seconds when the data points are spaced at 1 per minute. However, if users decide to change the collection interval upstream to, say, 5 minutes, then, to achieve the same "protection" against a "too-small" interval, they'd need to also edit the interval in each time-based chart in Kibana. That's onerous.

In my case, the incoming data contains (can contain) a field whose value is the collection interval in seconds. It would be nice if one could specify an interval that referred to, say, the last value of that field:

>=%{interval_seconds}s

(In other analytics platforms, and with other data that does not have an interval_seconds fields, I've diff'd the time stamps of consecutive events to calculate that interval, and make charting decisions based on that value. I understand that this assumes regular intervals between time stamps; that just happens to be the case for that data. One could argue that the ability to perform that calculation (diff) based on time stamp values makes a separate field, such as interval_seconds, unnecessary).

@stolsvik
Copy link

stolsvik commented Jun 17, 2022

I have the same problem and ended up here.

The granularity of "auto" is basically always too coarse for my liking.

I would like if all my lenses and graphs could use a "Dashboard global" bucket size / minimum interval.

What I would have expected going into Dashboard design in Kibana, was that these Dashboard could have variables that was set using controls, and then the lenses and graphs could pick up these variables. If the minimum interval in a lens could pick up such a variable, one would be in a good place.

Notice - outside of this request - that the variable concept could also work for filters, and for which variable was graphed, etc.

The next level was that a variable's value was calculated by a function. Then, for the bucket size, I could dynamically calculate it based on the date range - effectively making a "custom auto".

(That the bucket size is even set independently for each Layer is somewhat counter-intuitive. I set up a bunch of percentiles, using a bucket size of 15 minutes. Then I also want the average, and must do that using a new Layer. But that ends up using 1 hour buckets. I can see that in certain situations, you'd want such independence, but I have yet to see why I would not want the same bucket size as the preceeding layer.)

@ThomThomson
Copy link
Contributor

Thank you for the suggestion, and good timing @stolsvik! We will indeed be working on this as part of a wider "Dashboard Variables" initiative at some point in the future. That initiative will be tracked in #134706.

Additionally, this feature request is also tracked in #134591. I will close this issue for now as we track the project elsewhere.

The second layer request here, of a variable which can be calculated based on the current state of the dashboard - i.e. time filter, may be handled as a second, later, phase of that project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas
Projects
None yet
Development

No branches or pull requests

5 participants