1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 19:32:40 +01:00
phorge-phorge/resources/sql/autopatches/20150430.multimeter.1.sql
epriestley 7b6c320e15 Skeleton for "Multimeter", a performance sampling application
Summary:
Ref T6930. This application collects and displays performance samples -- roughly, things Phabricator spent some kind of resource on. It will collect samples on different types of resources and events:

  - Wall time (queries, service calls, pages)
  - Bytes In / Bytes Out (requests)
  - Implicit requests to CSS/JS (static resources)

I've started with the simplest case (static resources), since this can be used in an immediate, straghtforward way to improve packaging (look at which individual files have the most requests recently).

There's no aggregation yet and a lot of the data isn't collected properly. Future diffs will add more dimension data (controllers, users), more event and resource types (queries, service calls, wall time), and more display options (aggregation, sorting).

Test Plan: {F389344}

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T6930

Differential Revision: https://secure.phabricator.com/D12623
2015-05-01 13:19:43 -07:00

14 lines
545 B
SQL

CREATE TABLE {$NAMESPACE}_multimeter.multimeter_event (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
eventType INT UNSIGNED NOT NULL,
eventLabelID INT UNSIGNED NOT NULL,
resourceCost BIGINT NOT NULL,
sampleRate INT UNSIGNED NOT NULL,
eventContextID INT UNSIGNED NOT NULL,
eventHostID INT UNSIGNED NOT NULL,
eventViewerID INT UNSIGNED NOT NULL,
epoch INT UNSIGNED NOT NULL,
requestKey BINARY(12) NOT NULL,
KEY `key_request` (requestKey),
KEY `key_type` (eventType, epoch)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};