@@ -1635,56 +1635,162 @@ export class ScaleUpChronMetrics extends ScaleUpMetrics {
1635
1635
super ( 'scaleUpChron' ) ;
1636
1636
}
1637
1637
1638
- queuedRunnerStats ( org : string , runnerType : string , numQueuedJobs : number ) {
1639
- const dimensions = new Map ( [
1638
+ queuedRunnerStats (
1639
+ org : string ,
1640
+ runnerType : string ,
1641
+ repo : string ,
1642
+ numQueuedJobs : number ,
1643
+ minQueueTimeMinutes : number ,
1644
+ maxQueueTimeMinutes : number ,
1645
+ ) {
1646
+ this . countEntry ( 'run.scaleupchron.queuedRunners' , 1 ) ;
1647
+ this . countEntry ( 'run.scaleupchron.queuedRunners.numJobs' , numQueuedJobs ) ;
1648
+ this . addEntry ( 'run.scaleupchron.queuedRunners.minMinutes' , minQueueTimeMinutes ) ;
1649
+ this . addEntry ( 'run.scaleupchron.queuedRunners.maxMinutes' , maxQueueTimeMinutes ) ;
1650
+
1651
+ const dimensions = new Map ( [ [ 'Org' , org ] ] ) ;
1652
+ this . countEntry ( 'run.scaleupchron.perOrg.queuedRunners' , 1 , dimensions ) ;
1653
+ this . countEntry ( 'run.scaleupchron.perOrg.queuedRunners.numJobs' , numQueuedJobs , dimensions ) ;
1654
+ this . addEntry ( 'run.scaleupchron.perOrg.queuedRunners.minMinutes' , minQueueTimeMinutes , dimensions ) ;
1655
+ this . addEntry ( 'run.scaleupchron.perOrg.queuedRunners.maxMinutes' , maxQueueTimeMinutes , dimensions ) ;
1656
+
1657
+ const dimensionsRunnerOnly = new Map ( [ [ 'RunnerType' , runnerType ] ] ) ;
1658
+ this . countEntry ( 'run.scaleupchron.perRunnerType.queuedRunners' , 1 , dimensionsRunnerOnly ) ;
1659
+ this . countEntry ( 'run.scaleupchron.perRunnerType.queuedRunners.numJobs' , numQueuedJobs , dimensionsRunnerOnly ) ;
1660
+ this . addEntry ( 'run.scaleupchron.perRunnerType.queuedRunners.minMinutes' , minQueueTimeMinutes , dimensionsRunnerOnly ) ;
1661
+ this . addEntry ( 'run.scaleupchron.perRunnerType.queuedRunners.maxMinutes' , maxQueueTimeMinutes , dimensionsRunnerOnly ) ;
1662
+
1663
+ dimensions . set ( 'RunnerType' , runnerType ) ;
1664
+ this . countEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners' , 1 , dimensions ) ;
1665
+ this . countEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.numJobs' , numQueuedJobs , dimensions ) ;
1666
+ this . addEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.minMinutes' , minQueueTimeMinutes , dimensions ) ;
1667
+ this . addEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.maxMinutes' , maxQueueTimeMinutes , dimensions ) ;
1668
+
1669
+ const dimensionsRepo = new Map ( [
1670
+ [ 'Repo' , repo ] ,
1640
1671
[ 'Org' , org ] ,
1641
- [ 'RunnerType' , runnerType ] ,
1642
- [ 'numQueuedJobs' , numQueuedJobs . toString ( ) ] ,
1643
1672
] ) ;
1644
- this . addEntry ( 'gh.scaleupchron.queuedRunners' , 3 , dimensions ) ;
1645
- }
1673
+ this . countEntry ( 'run.scaleupchron.perOrg.peRepo.queuedRunners' , 1 , dimensionsRepo ) ;
1674
+ }
1675
+
1676
+ queuedRunnerWillScaleStats (
1677
+ org : string ,
1678
+ runnerType : string ,
1679
+ repo : string ,
1680
+ numQueuedJobs : number ,
1681
+ minQueueTimeMinutes : number ,
1682
+ maxQueueTimeMinutes : number ,
1683
+ ) {
1684
+ this . countEntry ( 'run.scaleupchron.queuedRunners.willScale' , 1 ) ;
1685
+ this . countEntry ( 'run.scaleupchron.queuedRunners.willScale.numJobs' , numQueuedJobs ) ;
1686
+ this . addEntry ( 'run.scaleupchron.queuedRunners.willScale.minMinutes' , minQueueTimeMinutes ) ;
1687
+ this . addEntry ( 'run.scaleupchron.queuedRunners.willScale.maxMinutes' , maxQueueTimeMinutes ) ;
1688
+
1689
+ const dimensions = new Map ( [ [ 'Org' , org ] ] ) ;
1690
+ this . countEntry ( 'run.scaleupchron.perOrg.queuedRunners.willScale' , 1 , dimensions ) ;
1691
+ this . countEntry ( 'run.scaleupchron.perOrg.queuedRunners.willScale.numJobs' , numQueuedJobs , dimensions ) ;
1692
+ this . addEntry ( 'run.scaleupchron.perOrg.queuedRunners.willScale.minMinutes' , minQueueTimeMinutes , dimensions ) ;
1693
+ this . addEntry ( 'run.scaleupchron.perOrg.queuedRunners.willScale.maxMinutes' , maxQueueTimeMinutes , dimensions ) ;
1694
+
1695
+ const dimensionsRunnerOnly = new Map ( [ [ 'RunnerType' , runnerType ] ] ) ;
1696
+ this . countEntry ( 'run.scaleupchron.perRunnerType.queuedRunners.willScale' , 1 , dimensionsRunnerOnly ) ;
1697
+ this . countEntry (
1698
+ 'run.scaleupchron.perRunnerType.queuedRunners.willScale.numJobs' ,
1699
+ numQueuedJobs ,
1700
+ dimensionsRunnerOnly ,
1701
+ ) ;
1702
+ this . addEntry (
1703
+ 'run.scaleupchron.perRunnerType.queuedRunners.willScale.minMinutes' ,
1704
+ minQueueTimeMinutes ,
1705
+ dimensionsRunnerOnly ,
1706
+ ) ;
1707
+ this . addEntry (
1708
+ 'run.scaleupchron.perRunnerType.queuedRunners.willScale.maxMinutes' ,
1709
+ maxQueueTimeMinutes ,
1710
+ dimensionsRunnerOnly ,
1711
+ ) ;
1712
+
1713
+ dimensions . set ( 'RunnerType' , runnerType ) ;
1714
+ this . countEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.willScale' , 1 , dimensions ) ;
1715
+ this . countEntry ( 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.willScale.numJobs' , numQueuedJobs , dimensions ) ;
1716
+ this . addEntry (
1717
+ 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.willScale.minMinutes' ,
1718
+ minQueueTimeMinutes ,
1719
+ dimensions ,
1720
+ ) ;
1721
+ this . addEntry (
1722
+ 'run.scaleupchron.perOrg.perRunnerType.queuedRunners.willScale.maxMinutes' ,
1723
+ maxQueueTimeMinutes ,
1724
+ dimensions ,
1725
+ ) ;
1646
1726
1647
- queuedRunnerFailure ( error : string ) {
1648
- const dimensions = new Map ( [ [ 'error' , error ] ] ) ;
1649
- this . countEntry ( 'gh.scaleupchron.queuedRunners.failure' , 1 , dimensions ) ;
1727
+ const dimensionsRepo = new Map ( [
1728
+ [ 'Repo' , repo ] ,
1729
+ [ 'Org' , org ] ,
1730
+ ] ) ;
1731
+ this . countEntry ( 'run.scaleupchron.perOrg.peRepo.queuedRunners.willScale' , 1 , dimensionsRepo ) ;
1650
1732
}
1651
1733
1652
1734
/* istanbul ignore next */
1653
1735
getQueuedJobsEndpointSuccess ( ms : number ) {
1654
- this . countEntry ( `gh .calls.total` , 1 ) ;
1655
- this . countEntry ( `gh .calls.getQueuedJobsEndpoint.count` , 1 ) ;
1656
- this . countEntry ( `gh .calls.getQueuedJobsEndpoint.success` , 1 ) ;
1657
- this . addEntry ( `gh .calls.getQueuedJobsEndpoint.wallclock` , ms ) ;
1736
+ this . countEntry ( `hud .calls.total` , 1 ) ;
1737
+ this . countEntry ( `hud .calls.getQueuedJobsEndpoint.count` , 1 ) ;
1738
+ this . countEntry ( `hud .calls.getQueuedJobsEndpoint.success` , 1 ) ;
1739
+ this . addEntry ( `hud .calls.getQueuedJobsEndpoint.wallclock` , ms ) ;
1658
1740
}
1659
1741
1660
1742
/* istanbul ignore next */
1661
1743
getQueuedJobsEndpointFailure ( ms : number ) {
1662
- this . countEntry ( `gh.calls.total` , 1 ) ;
1663
- this . countEntry ( `gh.calls.getQueuedJobsEndpoint.count` , 1 ) ;
1664
- this . countEntry ( `gh.calls.getQueuedJobsEndpoint.failure` , 1 ) ;
1665
- this . addEntry ( `gh.calls.getQueuedJobsEndpoint.wallclock` , ms ) ;
1744
+ this . countEntry ( `hud.calls.total` , 1 ) ;
1745
+ this . countEntry ( `hud.calls.getQueuedJobsEndpoint.count` , 1 ) ;
1746
+ this . countEntry ( `hud.calls.getQueuedJobsEndpoint.failure` , 1 ) ;
1747
+ this . addEntry ( `hud.calls.getQueuedJobsEndpoint.wallclock` , ms ) ;
1748
+ }
1749
+
1750
+ hudQueuedRunnerFailureInvalidData ( ) {
1751
+ this . countEntry ( 'hud.scaleupchron.queuedRunnerFailure.invalidData' , 1 ) ;
1752
+ }
1753
+
1754
+ hudQueuedRunnerFailureNoData ( ) {
1755
+ this . countEntry ( 'hud.scaleupchron.queuedRunnerFailure.noData' , 1 ) ;
1756
+ }
1757
+
1758
+ hudQueuedRunnerFailure ( ) {
1759
+ this . countEntry ( 'hud.scaleupchron.queuedRunnerFailure' , 1 ) ;
1760
+ }
1761
+
1762
+ scaleUpChronInitiated ( ) {
1763
+ this . countEntry ( 'run.scaleupchron.initiated' , 1 ) ;
1666
1764
}
1667
1765
1668
- scaleUpInstanceSuccess ( ) {
1766
+ scaleUpChronSuccess ( ) {
1669
1767
this . scaleUpSuccess ( ) ;
1670
- this . countEntry ( 'run.scaleupchron.success' ) ;
1768
+ this . countEntry ( 'run.scaleupchron.success' , 1 ) ;
1671
1769
}
1672
1770
1673
- scaleUpInstanceFailureNonRetryable ( error : string ) {
1674
- const dimensions = new Map ( [ [ 'error' , error ] ] ) ;
1675
- // should we add more information about this or do we not care since it'll be requeued?
1676
- this . countEntry ( 'run.scaleupchron.failure.nonRetryable' , 1 , dimensions ) ;
1771
+ scaleUpChronFailure ( ) {
1772
+ this . countEntry ( 'run.scaleupchron.failure' , 1 ) ;
1677
1773
}
1678
1774
1679
- scaleUpInstanceFailureRetryable ( error : string ) {
1680
- const dimensions = new Map ( [ [ 'error' , error ] ] ) ;
1775
+ scaleUpChronInstanceSuccess ( ) {
1776
+ this . scaleUpSuccess ( ) ;
1777
+ this . countEntry ( 'run.scaleupchron.instance.success' , 1 ) ;
1778
+ }
1779
+
1780
+ scaleUpChronInstanceFailure ( ) {
1781
+ this . countEntry ( 'run.scaleupchron.instance.failure' , 1 ) ;
1782
+ }
1783
+
1784
+ scaleUpChronInstanceFailureNonRetryable ( ) {
1785
+ this . countEntry ( 'run.scaleupchron.failure.nonRetryable' , 1 ) ;
1786
+ }
1681
1787
1682
- // should we add more information about this or do we not care since it'll be requeued?
1683
- this . countEntry ( 'run.scaleupchron.failure.retryable' , 1 , dimensions ) ;
1788
+ scaleUpChronInstanceFailureRetryable ( ) {
1789
+ this . countEntry ( 'run.scaleupchron.failure.retryable' , 1 ) ;
1684
1790
}
1685
1791
1686
- scaleUpInstanceNoOp ( ) {
1687
- this . countEntry ( 'run.scaleupchron.noop' ) ;
1792
+ scaleUpChronInstanceNoOp ( ) {
1793
+ this . countEntry ( 'run.scaleupchron.noop' , 1 ) ;
1688
1794
}
1689
1795
}
1690
1796
0 commit comments