source-cooperative / source-cooperative/source.coop

fix(analytics): use "Requests" instead of "Downloads" where technically appropriate

Open
#540 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
26
Forks
9
Avg merge
1d 7h
Merged PRs (30d)
42

Description

Problem

The analytics UI currently uses the term Downloads throughout. For cloud-native formats (COGs, Zarr, GeoParquet, PMTiles, etc.), users access data via HTTP range requests — not full file downloads. A single "download" of a large COG may generate hundreds of HTTP 206 (partial content) range requests.

Labeling all access as "Downloads" is misleading:

  • It implies users retrieved entire files, which is often not the case.
  • It understates actual usage (a dataset accessed heavily via range requests looks like zero downloads).
  • It conflates two meaningfully different access patterns that the data proxy already distinguishes via `status_code` (200 vs 206).

Proposed Change

Use Requests (or a context-appropriate equivalent) as the primary label for HTTP access counts, reserving Downloads only for cases where a full file transfer is confirmed (HTTP 200, no range request).

Suggested terminology
Metric Current label Proposed label
Total HTTP access count Downloads Requests
HTTP 200 (full file) count Downloads Downloads
HTTP 206 (range request) count (not shown separately) Range requests

The proxy already captures `status_code`, so the data needed to split these is available (see #257).

References

  • #257 — the analytics feature where both terms appear; the 200 vs 206 split is called out in the V1 proposal but the UI label was never revisited.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the analytics feature in #257 and tracing how the analytics UI consumes the data proxy's status_code values. Update the terminology so total HTTP access is shown as Requests, full HTTP 200 transfers as Downloads, and HTTP 206 access as Range requests; verify the relevant analytics views and counts distinguish these cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
analytics, frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.