@nsshunt/stsappframework 3.1.53 → 3.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,191 +22,6 @@ import { TasksAPI, Tasks, Task } from '@influxdata/influxdb-client-apis'
22
22
  import debugModule from 'debug'
23
23
  const debug = debugModule(`proc:${process.pid}`);
24
24
 
25
- /*
26
- Manual docker run command and setup -------------------------------------------------------
27
-
28
- docker run -d -p 8086:8086 --name influxdb \
29
- -v /var/sts/influxdb/data:/var/lib/influxdb2 \
30
- -v /var/sts/influxdb/config:/etc/influxdb2 \
31
- -e DOCKER_INFLUXDB_INIT_MODE=setup \
32
- -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \
33
- -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \
34
- -e DOCKER_INFLUXDB_INIT_ORG=my-org \
35
- -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \
36
- -e DOCKER_INFLUXDB_INIT_RETENTION=24h \
37
- -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=sts12345 \
38
- --restart unless-stopped \
39
- influxdb:latest
40
-
41
- DOCKER_INFLUXDB_INIT_MODE: "setup"
42
- DOCKER_INFLUXDB_INIT_USERNAME: "my-user"
43
- DOCKER_INFLUXDB_INIT_PASSWORD: "my-password"
44
- DOCKER_INFLUXDB_INIT_ORG: "my-org"
45
- DOCKER_INFLUXDB_INIT_BUCKET: "my-bucket"
46
- DOCKER_INFLUXDB_INIT_RETENTION: "24h"
47
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: "sts12345"
48
-
49
- Then access admin portal via;
50
- http://192.168.14.92:8086
51
-
52
- Login using credentials above
53
- username: my-user
54
- password: my-password
55
-
56
- Select Buckets from the menu
57
- Create buckets as required
58
- Example: TestBucket01
59
- Note: We will not use the default bucket as specified in the docker initial setup (my-bucket)
60
-
61
- Select API Tokens from the menu
62
- Generate an API token / custom API token for read/write access to the bucket about
63
- Bucket: TestBucket01 (from above bucket create)
64
-
65
- Copy the API token and use in the ENV file for access
66
- INFLUXDB_API_TOKEN=<< generated from InfluxDB web admin tool >> \
67
- INFLUXDB_URL=http://192.168.14.92:8086 \
68
- INFLUXDB_ORG=my-org \
69
- INFLUXDB_BUCKET=TestBucket01 \
70
-
71
- Docker compose file --------------------------------------------------------------
72
-
73
- version: '2'
74
- services:
75
- influxdb:
76
- image: influxdb:latest
77
- ports:
78
- - "8086:8086"
79
- environment:
80
- DOCKER_INFLUXDB_INIT_MODE: setup
81
- DOCKER_INFLUXDB_INIT_USERNAME: my-user
82
- DOCKER_INFLUXDB_INIT_PASSWORD: my-password
83
- DOCKER_INFLUXDB_INIT_ORG: my-org
84
- DOCKER_INFLUXDB_INIT_BUCKET: my-bucket
85
- DOCKER_INFLUXDB_INIT_RETENTION: 1w
86
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: my-super-secret-auth-token
87
- volumes:
88
- - /var/run/influxdb/data:/var/lib/influxdb2
89
- - /var/run/influxdb/config:/etc/influxdb2
90
- restart: unless-stopped
91
-
92
-
93
- // Exam Queries Below ----------------------------------------------------------------------
94
-
95
- from(bucket: "TestBucket01")
96
- |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
97
- |> filter(fn: (r) => r["_measurement"] == "stsServicePointV3")
98
- |> group(columns: ["serviceId"], mode: "by")
99
- |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
100
- |> yield(name: "mean")
101
-
102
- from(bucket: "TestBucket01")
103
- |> range(start: -10m)
104
- |> filter(fn: (r) => r["_measurement"] == "requestCount")
105
- |> group(columns: ["serviceInstanceId"])
106
- |> mean()
107
-
108
- from(bucket: "TestBucket01")
109
- |> range(start: -10m)
110
- |> filter(fn: (r) => r["_measurement"] == "cpu")
111
- |> group(columns: ["serviceInstanceId"])
112
- |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
113
-
114
- from(bucket: "TestBucket01")
115
- |> range(start: -2m)
116
- |> filter(fn: (r) => r["_measurement"] == "cpu")
117
- |> group(columns: ["serviceInstanceId"])
118
- |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
119
-
120
- from(bucket: "TestBucket01")
121
- |> range(start: -10s)
122
- |> filter(fn: (r) => r["_measurement"] == "all")
123
- |> filter(fn: (r) => r["_field"] == "requestCount")
124
- |> group(columns: ["serviceInstanceId"])
125
- |> max()
126
-
127
- from(bucket: "TestBucket01")
128
- |> range(start: -10s)
129
- |> filter(fn: (r) => r["_measurement"] == "all")
130
- |> filter(fn: (r) => r["_field"] == "requestCount" or r["_field"] == "errorCount")
131
- |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
132
- |> group(columns: ["serviceInstanceId"])
133
- |> max()
134
-
135
- from(bucket: "TestBucket01")
136
- |> range(start: -5s)
137
- |> filter(fn: (r) => r["_measurement"] == "all") |> filter(fn: (r) => r["_field"] == "cpu")
138
- |> last()
139
- |> group(columns: ["serviceInstanceId", "serviceId", "_field"])
140
- |> sum()
141
- |> group(columns: ["_field"])
142
- |> sum()
143
-
144
- // Histo ---------------------------------------
145
-
146
- import "math"
147
- from(bucket: "TestBucket01")
148
- |> range(start: -10m)
149
- |> filter(fn: (r) => r["_measurement"] == "all") |> filter(fn: (r) => r["_field"] == "latency")
150
- |> group(columns: ["serviceInstanceIsssd", "serviceId", "_field"])
151
- |> aggregateWindow(every: 1s, fn: mean, createEmpty: false)
152
- |> histogram(bins: [0.0, 5.0, 10.0, 20.0, 50.0, math.mInf(sign: 1) ])
153
- |> difference()
154
-
155
- // Velocity ------------------------------------------------------------------------
156
-
157
- dostsvelocityex = (r, ds, d) =>
158
- from(bucket: "TestBucket01")
159
- |> range(start: r)
160
- |> filter(fn: (r) => r["_measurement"] == "all")
161
- |> filter(fn: (r) => r["_field"] == "requestCount")
162
- |> group(columns: ["serviceInstanceIsssd", "serviceId", "_field", "serviceInstanceProcessId"])
163
- |> aggregateWindow(every: ds, fn: last, createEmpty: false)
164
- |> limit(n: 5)
165
- |> difference()
166
- |> last()
167
- |> group(columns: ["serviceInstanceIsssd", "serviceId", "_field"])
168
- |> sum()
169
- |> map(fn: (r) => ({r with _value: float(v: r._value) / d}))
170
-
171
- dostsvelocity = () =>
172
- dostsvelocityex(r: -30s, ds: 5s, d: 5.0)
173
-
174
- dostsvelocity()
175
-
176
- // Velocity - for a specific service instance ----------------------------------
177
-
178
- dostsvelocitybyserviceinstanceex = (sid, r, ds, d) =>
179
- from(bucket: "TestBucket01")
180
- |> range(start: r)
181
- |> filter(fn: (r) => r["_measurement"] == "all")
182
- |> filter(fn: (r) => r["_field"] == "requestCount")
183
- |> filter(fn: (r) => r["serviceId"] == sid)
184
- |> group(columns: ["serviceInstanceId", "serviceId", "_field", "serviceInstanceProcessId"])
185
- |> aggregateWindow(every: ds, fn: last, createEmpty: false)
186
- |> limit(n: 5)
187
- |> difference()
188
- |> last()
189
- |> sum()
190
- |> map(fn: (r) => ({r with _value: float(v: r._value) / d}))
191
-
192
- dostsvelocitybyserviceinstance = (sid) =>
193
- dostsvelocitybyserviceinstanceex(sid: sid, r: -30s, ds: 5s, d: 5.0)
194
-
195
- dostsvelocitybyserviceinstance(sid: "STSAuth@1.0.0")
196
-
197
- // Percentile --------------------------------------------------------------
198
-
199
- from(bucket: "TestBucket01")
200
- |> range(start: -10m)
201
- |> filter(fn: (r) => r["_measurement"] == "all") |> filter(fn: (r) => r["_field"] == "latency")
202
- |> group(columns: ["serviceInstanceIsssd", "serviceId", "_field"])
203
- |> aggregateWindow(every: 10s, fn: mean, createEmpty: false)
204
- |> quantile(q: 0.99, method: "exact_mean")
205
- */
206
-
207
- // export INFLUXDB_TOKEN=W6GztqLmWEqqpP9hAOW9nucgVfESk32dC0JYzFCaYD2yJtS8Ox_WK_1hwSkPUaheWjwwcavkE7_J2aRzm3-E7w==
208
-
209
-
210
25
  const _logPrefix = 'InfluxDBManager:'
211
26
 
212
27
  export class InfluxDBManager
@@ -279,6 +94,7 @@ export class InfluxDBManager
279
94
 
280
95
  this.CreateInfluxDBManagerClient('service');
281
96
  this.CreateInfluxDBManagerClient('agent');
97
+ this.CreateInfluxDBManagerClient('lambda');
282
98
  }
283
99
 
284
100
  #LogErrorMessage(message: any) {
@@ -289,10 +105,6 @@ export class InfluxDBManager
289
105
  this.#options.logger.debug(message);
290
106
  }
291
107
 
292
- #LogInfoMessage(message: any) {
293
- this.#options.logger.info(message);
294
- }
295
-
296
108
  #BoostrapInfluxDB = async(): Promise<void> => {
297
109
  const tasksAPI = new TasksAPI(this.#client);
298
110
  const tasks: Tasks = await tasksAPI.getTasks({
@@ -372,12 +184,6 @@ export class InfluxDBManager
372
184
  }
373
185
  }
374
186
 
375
- /*
376
- .floatField('timer', instrumentPayload.instruments[Gauge.TIMER_GAUGE].val)
377
- .floatField('duration', instrumentPayload.instruments[Gauge.DURATION_GAUGE].val)
378
- .floatField('latency', instrumentPayload.instruments[Gauge.LATENCY_GAUGE].val)
379
- */
380
-
381
187
  CreateGlobalCountModel = (stscount: any[]) => {
382
188
  try {
383
189
  const results: any = { };
@@ -530,477 +336,3 @@ export class InfluxDBManager
530
336
  }
531
337
  }
532
338
  }
533
-
534
-
535
-
536
- /*
537
- |> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
538
-
539
-
540
- |> histogramQuantile(quantile: 0.99999)
541
-
542
-
543
-
544
- option task = {name: "downsample-daily", every: 1d}
545
-
546
-
547
- option task = {name: "downsample-daily", every: 1d}
548
-
549
- from(bucket: "my-db/")
550
- |> range(start: -task.every)
551
- |> filter(fn: (r) => r._measurement == "example-measurement")
552
- |> filter(fn: (r) => r._field == "example-field")
553
- |> aggregateWindow(every: 1h, fn: mean)
554
- |> set(key: "_measurement", value: "average-example-measurement")
555
- |> to(org: "example-org", bucket: "my-db/example-rp")
556
-
557
-
558
-
559
-
560
- |> set(key: "_measurement", value: "sts01")
561
- |> to(org: "my-org", bucket: "TestBucket01")
562
-
563
-
564
-
565
-
566
-
567
-
568
-
569
-
570
- from(bucket: "TestBucket01")
571
- |> range(start: -5s)
572
- |> last()
573
- |> filter(fn: (r) => r["_measurement"] == "service")
574
- |> filter(fn: (r) => r["_field"] != "memory")
575
- |> group(columns: ["_field"])
576
- |> sum()
577
- |> map(
578
- fn: (r) => ({r with _time: now(), _measurement: "sts01"}),
579
- )
580
- |> to(org: "my-org", bucket: "TestBucket01")
581
-
582
-
583
-
584
-
585
- group(columns: ["serviceId", "serviceInstanceId", "_field"])
586
-
587
- option task = {name: "task-sts-stats-sum-byserviceInstanceprocessid", every: 1s}
588
- from(bucket: "TestBucket01")
589
- |> range(start: -5s)
590
- |> last()
591
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
592
- |> group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])
593
- |> sum()
594
- |> toFloat()
595
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byserviceInstanceprocessid"}))
596
- |> to(org: "my-org", bucket: "TestBucket01")
597
-
598
- option task = {name: "task-sts-stats-sum-byserviceinstance", every: 1s}
599
- from(bucket: "TestBucket01")
600
- |> range(start: -5s)
601
- |> last()
602
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
603
- |> group(columns: ["serviceId", "serviceInstanceId", "_field"])
604
- |> sum()
605
- |> toFloat()
606
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byserviceinstance"}))
607
- |> to(org: "my-org", bucket: "TestBucket01")
608
-
609
- option task = {name: "task-sts-stats-sum-byservice", every: 1s}
610
- from(bucket: "TestBucket01")
611
- |> range(start: -5s)
612
- |> last()
613
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
614
- |> group(columns: ["serviceId", "_field"])
615
- |> sum()
616
- |> toFloat()
617
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byservice"}))
618
- |> to(org: "my-org", bucket: "TestBucket01")
619
-
620
- option task = {name: "task-sts-stats-sum", every: 1s}
621
- from(bucket: "TestBucket01")
622
- |> range(start: -5s)
623
- |> last()
624
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
625
- |> group(columns: ["_field"])
626
- |> sum()
627
- |> toFloat()
628
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum"}))
629
- |> to(org: "my-org", bucket: "TestBucket01")
630
-
631
-
632
-
633
-
634
-
635
- option task = {name: "task-sts-stats-sum-byagentthreadasyncrunner-agent", every: 1s}
636
- from(bucket: "TestBucket01")
637
- |> range(start: -5s)
638
- |> last()
639
- |> filter(fn: (r) => r["_measurement"] == "agent")
640
- |> group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])
641
- |> sum()
642
- |> toFloat()
643
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byagentthreadasyncunner-agent"}))
644
- |> to(org: "my-org", bucket: "TestBucket01")
645
-
646
- option task = {name: "task-sts-stats-sum-byagentthread-agent", every: 1s}
647
- from(bucket: "TestBucket01")
648
- |> range(start: -5s)
649
- |> last()
650
- |> filter(fn: (r) => r["_measurement"] == "agent")
651
- |> group(columns: ["agentName", "threadId", "_field"])
652
- |> sum()
653
- |> toFloat()
654
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byagentthread-agent"}))
655
- |> to(org: "my-org", bucket: "TestBucket01")
656
-
657
- option task = {name: "task-sts-stats-sum-byagent-agent", every: 1s}
658
- from(bucket: "TestBucket01")
659
- |> range(start: -5s)
660
- |> last()
661
- |> filter(fn: (r) => r["_measurement"] == "agent")
662
- |> group(columns: ["agentName", "_field"])
663
- |> sum()
664
- |> toFloat()
665
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-byagent-agent"}))
666
- |> to(org: "my-org", bucket: "TestBucket01")
667
-
668
- option task = {name: "task-sts-stats-sum-agent", every: 1s}
669
- from(bucket: "TestBucket01")
670
- |> range(start: -5s)
671
- |> last()
672
- |> filter(fn: (r) => r["_measurement"] == "agent")
673
- |> group(columns: ["_field"])
674
- |> sum()
675
- |> toFloat()
676
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-sum-agent"}))
677
- |> to(org: "my-org", bucket: "TestBucket01")
678
-
679
-
680
-
681
-
682
-
683
-
684
-
685
-
686
- import "math"
687
- from(bucket: "TestBucket01")
688
- |> range(start: -10m)
689
- |> filter(fn: (r) => r["_measurement"] == "sts-stats-sum-byservice" and r["serviceId"] == "STSBroker@1.0.0" and r["_field"] == "cpu")
690
- |> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 200.0, 250.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
691
- |> difference()
692
-
693
-
694
-
695
- import "math"
696
- from(bucket: "TestBucket01")
697
- |> range(start: -10m)
698
- |> filter(fn: (r) => r["_measurement"] == "sts-stats-sum" and r["_field"] == "cpu")
699
- |> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 200.0, 250.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
700
- |> difference()
701
-
702
-
703
-
704
-
705
- // More accurate
706
-
707
- data = from(bucket: "TestBucket01")
708
- |> range(start: -10m)
709
- |> filter(fn: (r) => r["_measurement"] == "sts-stats-sum-byservice" and r["serviceId"] == "STSBroker@1.0.0" and r["_field"] == "cpu")
710
- |> aggregateWindow(every: 5s, fn: max, createEmpty: false)
711
-
712
- dostsquantileex = (q) =>
713
- data
714
- |> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
715
- |> set(key: "quantile", value: string(v:q))
716
- |> group(columns: ["quantile"])
717
-
718
- union(tables: [
719
- dostsquantileex(q: 0.5),
720
- dostsquantileex(q: 0.8),
721
- dostsquantileex(q: 0.9),
722
- dostsquantileex(q: 0.95),
723
- dostsquantileex(q: 0.99)
724
- ])
725
-
726
-
727
-
728
-
729
- // Less accurate
730
-
731
- import "math"
732
- data = from(bucket: "TestBucket01")
733
- |> range(start: -10m)
734
- |> filter(fn: (r) => r["_measurement"] == "sts-stats-sum-byservice" and r["serviceId"] == "STSBroker@1.0.0" and r["_field"] == "cpu")
735
- |> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 200.0, 250.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
736
-
737
-
738
- dostsquantileex = (q) =>
739
- data
740
- |> histogramQuantile(quantile: q)
741
- |> set(key: "quantile", value: string(v:q))
742
- |> group(columns: ["quantile"])
743
-
744
- union(tables: [
745
- dostsquantileex(q: 0.5),
746
- dostsquantileex(q: 0.8),
747
- dostsquantileex(q: 0.9),
748
- dostsquantileex(q: 0.95),
749
- dostsquantileex(q: 0.99)
750
- ])
751
-
752
-
753
-
754
-
755
-
756
-
757
- activeRequestCount 0 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
758
- 1 sts-stats-sum authenticationCount 0 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
759
- 2 sts-stats-sum connectionCount 40 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
760
- 3 sts-stats-sum connectionIdleCount 12 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
761
- 4 sts-stats-sum connectionPoolCount 12 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
762
- 5 sts-stats-sum connectionWaitingCount 0 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
763
- 6 sts-stats-sum coreCount
764
-
765
-
766
- cpu 50.91 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
767
- 8 sts-stats-sum duration 3.6900000000000004 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
768
- 9 sts-stats-sum errorCount 0 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
769
- 10 sts-stats-sum latency 22.82 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
770
- 11 sts-stats-sum requestCount 4485612 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
771
- 12 sts-stats-sum retryCount 0 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
772
- 13 sts-stats-sum systemcpu
773
-
774
- timer 72578365.22 2023-11-11T06:23:52.761Z 2023-11-11T06:33:52.761Z 2023-11-11T06:33:52.000Z
775
- 15 sts-stats-sum velocity
776
-
777
-
778
-
779
-
780
-
781
-
782
-
783
-
784
-
785
-
786
-
787
-
788
-
789
- option task = {
790
- name: "sts-service-stats",
791
- every: 1s,
792
- }
793
-
794
- data = from(bucket: "TestBucket01")
795
- |> range(start: -5s)
796
- |> last()
797
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
798
-
799
- r1 = data
800
- |> filter(fn: (r) => r["_field"] == "requestCount"
801
- or r["_field"] == "errorCount"
802
- or r["_field"] == "retryCount"
803
- or r["_field"] == "authenticationCount"
804
- or r["_field"] == "activeRequestCount"
805
- or r["_field"] == "connectionCount"
806
- or r["_field"] == "connectionPoolCount"
807
- or r["_field"] == "connectionIdleCount"
808
- or r["_field"] == "connectionWaitingCount"
809
- or r["_field"] == "coreCount"
810
- or r["_field"] == "cpu"
811
- or r["_field"] == "systemcpu"
812
- or r["_field"] == "velocity"
813
- or r["_field"] == "timer")
814
- |> group(columns: ["_field"])
815
- |> sum()
816
- |> toFloat()
817
-
818
- r2 = data
819
- |> filter(fn: (r) => float(v: r["_value"]) > 0.0 and (r["_field"] == "duration"
820
- or r["_field"] == "latency"))
821
-
822
- serviceInstanceProcessSum = r1
823
- |> group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])
824
- |> sum()
825
- |> toFloat()
826
-
827
- serviceInstanceProcessMean = r2
828
- |> group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])
829
- |> mean()
830
- |> toFloat()
831
-
832
- union(tables: [serviceInstanceProcessSum, serviceInstanceProcessMean])
833
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-serviceinstanceprocess"}))
834
- |> to(org: "my-org", bucket: "TestBucket01")
835
-
836
- serviceInstanceSum = r1
837
- |> group(columns: ["serviceId", "serviceInstanceId", "_field"])
838
- |> sum()
839
- |> toFloat()
840
-
841
- serviceInstanceMean = r2
842
- |> group(columns: ["serviceId", "serviceInstanceId", "_field"])
843
- |> mean()
844
- |> toFloat()
845
-
846
- union(tables: [serviceInstanceSum, serviceInstanceMean])
847
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-serviceinstance"}))
848
- |> to(org: "my-org", bucket: "TestBucket01")
849
-
850
- serviceSum = r1
851
- |> group(columns: ["serviceId", "_field"])
852
- |> sum()
853
- |> toFloat()
854
-
855
- serviceMean = r2
856
- |> group(columns: ["serviceId", "_field"])
857
- |> mean()
858
- |> toFloat()
859
-
860
- union(tables: [serviceSum, serviceMean])
861
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-service"}))
862
- |> to(org: "my-org", bucket: "TestBucket01")
863
-
864
- globalServiceSum = r1
865
- |> group(columns: ["_field"])
866
- |> sum()
867
- |> toFloat()
868
-
869
- globalServiceMean = r2
870
- |> group(columns: ["_field"])
871
- |> mean()
872
- |> toFloat()
873
-
874
- union(tables: [globalServiceSum, globalServiceMean])
875
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-globalservice"}))
876
- |> to(org: "my-org", bucket: "TestBucket01")
877
-
878
-
879
-
880
-
881
-
882
-
883
-
884
-
885
-
886
-
887
-
888
-
889
-
890
-
891
-
892
-
893
-
894
-
895
-
896
-
897
-
898
-
899
-
900
-
901
-
902
- option task = {name: "task-sts-service-stats", every: 1s}
903
-
904
- data =
905
- from(bucket: "TestBucket01")
906
- |> range(start: -5s)
907
- |> last()
908
- |> filter(fn: (r) => r["_measurement"] == "service" and r["_field"] != "memory")
909
-
910
- r1 =
911
- data
912
- |> filter(
913
- fn: (r) =>
914
- r["_field"] == "requestCount" or r["_field"] == "errorCount" or r["_field"]
915
- ==
916
- "retryCount" or r["_field"] == "authenticationCount" or r["_field"]
917
- ==
918
- "activeRequestCount" or r["_field"] == "connectionCount" or r["_field"]
919
- ==
920
- "connectionPoolCount" or r["_field"] == "connectionIdleCount" or r["_field"]
921
- ==
922
- "connectionWaitingCount" or r["_field"] == "coreCount" or r["_field"] == "cpu"
923
- or
924
- r["_field"] == "systemcpu" or r["_field"] == "velocity" or r["_field"]
925
- ==
926
- "timer",
927
- )
928
-
929
- r2 =
930
- data
931
- |> filter(
932
- fn: (r) =>
933
- float(v: r["_value"]) > 0.0 and (r["_field"] == "duration" or r["_field"]
934
- ==
935
- "latency"),
936
- )
937
-
938
- serviceInstanceProcessSum =
939
- r1
940
- |> group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])
941
- |> sum()
942
- |> toFloat()
943
-
944
- serviceInstanceProcessMean =
945
- r2
946
- |> group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])
947
- |> mean()
948
- |> toFloat()
949
-
950
- union(tables: [serviceInstanceProcessSum, serviceInstanceProcessMean])
951
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-serviceinstanceprocess"}))
952
- |> to(org: "my-org", bucket: "TestBucket01")
953
-
954
- serviceInstanceSum =
955
- r1
956
- |> group(columns: ["serviceId", "serviceInstanceId", "_field"])
957
- |> sum()
958
- |> toFloat()
959
-
960
- serviceInstanceMean =
961
- r2
962
- |> group(columns: ["serviceId", "serviceInstanceId", "_field"])
963
- |> mean()
964
- |> toFloat()
965
-
966
- union(tables: [serviceInstanceSum, serviceInstanceMean])
967
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-serviceinstance"}))
968
- |> to(org: "my-org", bucket: "TestBucket01")
969
-
970
- serviceSum =
971
- r1
972
- |> group(columns: ["serviceId", "_field"])
973
- |> sum()
974
- |> toFloat()
975
-
976
- serviceMean =
977
- r2
978
- |> group(columns: ["serviceId", "_field"])
979
- |> mean()
980
- |> toFloat()
981
-
982
- union(tables: [serviceSum, serviceMean])
983
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-by-service"}))
984
- |> to(org: "my-org", bucket: "TestBucket01")
985
-
986
- globalServiceSum =
987
- r1
988
- |> group(columns: ["_field"])
989
- |> sum()
990
- |> toFloat()
991
-
992
- globalServiceMean =
993
- r2
994
- |> group(columns: ["_field"])
995
- |> mean()
996
- |> toFloat()
997
-
998
- union(tables: [globalServiceSum, globalServiceMean])
999
- |> map(fn: (r) => ({r with _time: now(), _measurement: "sts-stats-globalservice"}))
1000
- |> to(org: "my-org", bucket: "TestBucket01")
1001
-
1002
-
1003
-
1004
-
1005
-
1006
- */