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

Redesign GET /api/deliveryservice_stats for api 3.x to be more flexible #4741

Open
3 of 16 tasks
mitchell852 opened this issue May 29, 2020 · 0 comments
Open
3 of 16 tasks
Labels
improvement The functionality exists but it could be improved in some way. low difficulty the estimated level of effort to resolve this issue is low medium impact impacts a significant portion of a CDN, or has the potential to do so new feature A new feature, capability or behavior Traffic Ops related to Traffic Ops

Comments

@mitchell852
Copy link
Member

mitchell852 commented May 29, 2020

I'm submitting a ...

  • bug report
  • new feature / enhancement request
  • improvement request (usability, performance, tech debt, etc.)
  • other

Traffic Control components affected ...

  • CDN in a Box
  • Documentation
  • Grove
  • Traffic Control Client
  • Traffic Monitor
  • Traffic Ops
  • Traffic Ops ORT
  • Traffic Portal
  • Traffic Router
  • Traffic Stats
  • Traffic Vault
  • unknown

Current behavior:

The current design of GET /deliveryservices_stats is not very flexible. For example:

it has hardcoded aspects such as:

https://github.com/apache/trafficcontrol/blob/master/traffic_ops/traffic_ops_golang/trafficstats/deliveryservice.go#L62
https://github.com/apache/trafficcontrol/blob/master/traffic_ops/traffic_ops_golang/trafficstats/deliveryservice.go#L70

what if i created a metric in influx called foo.ds.5min, it would not be accessible via this endpoint. The point of this endpoint is to allow system operators to store all types of metrics for a ds in influx and retrieve those metrics via this endpoint which has tenancy baked in.

In addition, totals are calculated based on metric type and seem to assume that everything is "per second"

https://github.com/apache/trafficcontrol/blob/master/traffic_ops/traffic_ops_golang/trafficstats/deliveryservice.go#L350

IMO totals can be calculated by the client from the data returned.

Expected / new behavior:

Design GET api/3.x/deliveryservice_stats to be more flexible and less specific to certain metrics (kbps/tps) or certain continuous queries (i.e. ds.1min)

Minimal reproduction of the problem with instructions:

n/a

@mitchell852 mitchell852 added new feature A new feature, capability or behavior Traffic Ops related to Traffic Ops improvement The functionality exists but it could be improved in some way. labels May 29, 2020
@mitchell852 mitchell852 added low difficulty the estimated level of effort to resolve this issue is low medium impact impacts a significant portion of a CDN, or has the potential to do so labels Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement The functionality exists but it could be improved in some way. low difficulty the estimated level of effort to resolve this issue is low medium impact impacts a significant portion of a CDN, or has the potential to do so new feature A new feature, capability or behavior Traffic Ops related to Traffic Ops
Projects
None yet
Development

No branches or pull requests

1 participant