What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The rightmost point in a downsampled price chart is the last result the query returned or the chart drew—not necessarily the latest raw price or the price at the present moment. Its timestamp may mark a bucket boundary, while its value summarizes older observations. To judge freshness, compare the newest underlying observation time with the query’s evaluation time.

Why isn’t the last point necessarily current?

Downsampling combines observations from an interval into fewer output points. A price series might, for example, reduce many readings in each time window to a mean, maximum, or selected last value. Those functions answer different questions: a mean describes the interval’s average, a maximum its peak, and a last-value selector one observation. None makes the result current merely because it is drawn at the right edge.

There are three different times to keep separate:

  • Observation time: when the source recorded the underlying price.
  • Bucket time: the timestamp assigned to the aggregate, often based on the interval’s start, end, or another configured time source.
  • Evaluation time: the time at which the query is evaluated, including its upper time bound or notion of “now.”

The latest point can be old relative to evaluation time, even when its bucket timestamp appears close to now. A query can also evaluate at a later time than the most recent sample available to it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What time does a downsampled point represent?

There is no universal timestamp convention. It depends on the database and query. InfluxDB OSS v1 documents that InfluxQL GROUP BY time() replaces original timestamps with interval timestamps. Its example for GROUP BY time(12m) labels each result with the start of its 12-minute interval; the final displayed point covers the interval from 00:24 UTC to just before 00:36 UTC. That label is not the timestamp of every observation summarized by the point. See InfluxQL functions.

InfluxDB OSS v2 uses a different mechanism. Flux aggregateWindow() lets a query choose the column used as the new aggregate timestamp with timeSrc; its documented default is _stop. That can label an aggregate with its window’s end even though the aggregate represents observations within the window. See InfluxDB OSS v2 process data.

These are examples for specific product versions and query mechanisms, not rules to apply to every chart. Check whether the implementation labels an aggregate at the bucket start, bucket end, or another configured time source.

Rank #2

Does “last” mean the newest price?

Not necessarily. The word “last” can refer to different operations. Grafana’s expression reduction defines Last as the last number in the series. InfluxQL’s LAST(), by contrast, selects the newest field value by timestamp. A value selected as last may still be old compared with the time you are viewing the chart, and a reduction of an already downsampled series is not automatically a lookup for the latest raw observation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Grafana also distinguishes reducing a series to a last value from resampling it to a consistent interval. If multiple points fall into a resampling window, the configured downsample reduction determines the output. See Grafana expression queries.

Can a chart show a value at a time when no new price arrived?

Yes, depending on how empty windows are handled. Grafana resampling can pad an empty window with the last known value, backfill it from the next known value, or represent it as NaN. A carried-forward or backfilled point may help make a chart continuous, but it is not a new measurement. InfluxDB’s downsampler also exposes interval aggregation options, which should be understood in the context of the specific configuration. See Grafana expression queries and InfluxDB 3 Core downsampler.

Keep fill behavior separate from timestamp labeling: a point may have a plausible bucket timestamp and still contain a carried-forward value rather than a fresh observation.

How can query time differ from the latest available sample?

Some time-series queries evaluate a series at a requested time using an earlier sample if no sample exists exactly at that time. Prometheus documents a lookback period: at an evaluation timestamp, it can use the newest sample that is less than the lookback period old. Its default is five minutes, configurable with --query.lookback-delta or the per-query lookback_delta parameter. Stale series eventually produce no value. This is Prometheus-specific behavior, not a general property of downsampling or of every rightmost chart point. See Prometheus querying basics.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Query upper bounds matter too. In InfluxQL, now() refers to the server’s current time when the query runs; it does not make an older returned observation current. See Explore data using InfluxQL.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to tell whether the displayed price is fresh

  1. Identify the window and aggregation. Record the downsampling interval and whether the value is a mean, maximum, last observation, or another reduction.
  2. Find the timestamp convention. Determine whether the output timestamp marks the bucket start, bucket end, or a configurable time source.
  3. Inspect the raw observations in the final bucket. Find the timestamp of the newest source observation that contributed to that aggregate; do not infer it from the displayed bucket timestamp.
  4. Check the query’s time range. Compare the query upper bound and evaluation time with that newest observation time.
  5. Check empty-window and stale-data handling. Look for fill, padding, carry-forward, backfill, or lookback behavior that can display a value without a new source observation.
  6. Report age when freshness matters. State how old the latest underlying observation is relative to query evaluation time, and distinguish that age from the aggregate’s plotted timestamp.

For a chart used to make time-sensitive decisions, disclose the window, reduction, timestamp convention, and latest observation age together. The right edge alone cannot establish that a price is current.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.