[proxy]: /stats for Data Gathering

Registered by Allele Dev

This blueprint has been superseded. See the newer blueprint "Storage Sharding" for updated plans.

Returns a JSON object detailing aspects of the system's operation:

.. code-block:: json

   {
     "system": {
       "upTime": integer [seconds],
       "catalogueEntries": integer,
       "partitions": integer,
       "cachedPartitions": integer,
       "cacheEntries": integer,
       "memoryUse": integer
     },
     "http": {
       "requestsServed": integer,
       "bytesServed": integer,
       "200": integer,
       "201": integer,
       "204": integer,
       "400": integer,
       "401": integer,
       "403": integer,
       "404": integer,
       "429": integer,
       "500": integer,
       "503": integer
     }
   }

Rationale: Get an overview of how the system is working, and have some
real-time data available to track use and functionality. It helps
answer the question: "How is this system really being used?"

It's likely that there'll be two components: one for a forwarding proxy and one for the admin interface. It makes a great deal of sense to capture the HTTP return codes from the forwarding proxy but a little less so to do so from the admin interface. Having said that, a high incidence of 400s, for example, would help us begin asking the question, "Why are users sending us malformed data so often? Is something about the API non-intuitive?"

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Allele Dev
Direction:
Needs approval
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Allele Dev

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.