Page MenuHomePhabricator

Add chart functions "x()" and "constant(3)"
ClosedPublic

Authored by epriestley on Apr 17 2019, 2:04 PM.
Tags
None
Referenced Files
F19636391: D20443.id48801.diff
Feb 5 2026, 1:00 PM
F19617247: D20443.id48750.diff
Feb 4 2026, 5:14 AM
F19612911: D20443.id.diff
Feb 3 2026, 8:09 PM
F19244674: D20443.diff
Dec 22 2025, 1:05 AM
F19029889: D20443.diff
Nov 24 2025, 7:16 PM
F19016545: D20443.id.diff
Nov 23 2025, 4:25 AM
F18829363: D20443.diff
Oct 24 2025, 9:26 PM
F18829302: D20443.diff
Oct 24 2025, 9:02 PM
Subscribers

Details

Summary

Depends on D20442. Ref T13279. Add basic support for drawing chart functions that are not based on Facts first-party ETL datasets. Some general goals:

  • This might be useful to draw a line like "goal" or "profitability".
  • This might be useful to pull data from an external source.
  • For composable functions like "add" or "subtract", which are useful in manipulating ETL datasets, these value functions will make testing easier.
Test Plan

Added a constant(256) function:

Screen Shot 2019-04-17 at 7.00.27 AM.png (1×1 px, 189 KB)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

amckinley added inline comments.
src/applications/fact/chart/PhabricatorConstantChartFunction.php
31

Not sure how I feel about passing $limit here. Won't every chart function basically copy/paste the rest of the code in this function?

33–34

Also it's not obvious to me why $limit gets passed as an argument but the axis is an instance variable on this object.

src/applications/fact/controller/PhabricatorFactChartController.php
24

This is setting the default argument to 256, right? I was looking for some reason why this to be a power of 2, maybe pick a different constant like 42?

This revision is now accepted and ready to land.Apr 17 2019, 11:16 PM
src/applications/fact/chart/PhabricatorConstantChartFunction.php
33–34

Yeah, this changes in the ~next diff.

src/applications/fact/controller/PhabricatorFactChartController.php
24

This is just drawing a visible line on the "demo" chart. 256 just happened to produce a reasonable line in the middle of the data on my local instance.

This revision was automatically updated to reflect the committed changes.