Skip to content

Fetch Multiple TimeSeries via TimeSeries Group #1203

@krowvin

Description

@krowvin

Proposal

Allow retrieving timeseries data from a provided timeseries group.

Reasoning

cwms-python, java, and other languages can take advantage of multiple threads. Browsers appear to cap AJAX requests to 6 threads (for Chrome). In my limited research the way around this is through Domain Sharding which goes on to say if you use HTTP/2

HTTP2 supports unlimited concurrent requests making domain sharding an obsolete requirement when HTTP/2 is enabled.

More here on HTTP/2 - also of interest maybe the ability to

Server Push, which allowed a server to send resources to a client in anticipation that the client would need them very soon.

We appear to be using 1.1 now:

curl -s -o /dev/null -w "%{http_version}\n" "https://cwms-data.usace.army.mil/cwms-data/timeseries?name=KEYS.Elev.Inst.1Hour.0.Ccp-Rev&office=SWT"
1.1

Considerations

  • Allow users to specify a time window
  • Write large sets of data to the blob endpoint on a schedule either in static report or JSON format and query that
  • /timeseries/recent does seem to allow for group retrieval or multiple timeseries, but this is only for recent data
  • Using HTTP/2 would potentially require configuring jetty, and out of the box http/2 is not enforced
  • Clients, proxies, and other midpoints may not support 2 yet. Could probably do both and let client negotiate which to use? I.e. browsers supporting 2.0 for parallel +6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussion-pointSomething to talk about but take no action yetenhancementNew feature or requesttimeseriesweb-adjacentRelated to web fetching and/or benefits the web migration effort

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions