Last active
March 14, 2019 23:20
-
-
Save tschuy/d74586bfd26e4e8e9d88fd34bd8bfac1 to your computer and use it in GitHub Desktop.
vpus by role
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ curl "http://127.0.0.1:8001/api/v1/namespaces/metering-tschuy-test/services/https:reporting-operator:http/proxy/api/v1/reports/get?name=compute-vcpus-by-role-five-min&namespace=metering-tschuy-test&format=json" | jq | |
... | |
{ | |
"period_end": "2019-03-14T21:20:00Z", | |
"period_start": "2019-03-14T21:15:00Z", | |
"vcpu_core_seconds": 14400 | |
}, | |
{ | |
"period_end": "2019-03-14T21:25:00Z", | |
"period_start": "2019-03-14T21:20:00Z", | |
"vcpu_core_seconds": 14400 | |
} | |
] | |
$ curl "http://127.0.0.1:8001/api/v1/namespaces/metering-tschuy-test/services/https:reporting-operator:http/proxy/api/v1/reports/get?name=master-vcpus-by-role-five-min&namespace=metering-tschuy-test&format=json" | jq | |
... | |
{ | |
"period_end": "2019-03-14T22:20:00Z", | |
"period_start": "2019-03-14T22:15:00Z", | |
"vcpu_core_seconds": 1200 | |
}, | |
{ | |
"period_end": "2019-03-14T22:25:00Z", | |
"period_start": "2019-03-14T22:20:00Z", | |
"vcpu_core_seconds": 1200 | |
} | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: metering.openshift.io/v1alpha1 | |
kind: ReportDataSource | |
metadata: | |
name: vcpus-by-role | |
spec: | |
promsum: | |
query: vcpus-by-role |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: metering.openshift.io/v1alpha1 | |
kind: ReportGenerationQuery | |
metadata: | |
name: "vcpus-by-role-raw" | |
spec: | |
reportDataSources: | |
- "vcpus-by-role" | |
columns: | |
- name: vcpu_cores | |
type: double | |
unit: cpu_cores | |
- name: vcpu_core_seconds | |
type: double | |
unit: cpu_core_seconds | |
# - name: cluster_uuid | |
# type: string | |
# unit: uuid | |
- name: timestamp | |
type: timestamp | |
unit: date | |
- name: timeprecision | |
type: double | |
unit: seconds | |
- name: compute | |
type: boolean | |
- name: master | |
type: boolean | |
- name: dt | |
type: string | |
query: | | |
SELECT amount as vcpu_cores, | |
amount * timeprecision as vcpu_core_seconds, | |
CAST(element_at(labels, 'label_node_role_kubernetes_io_compute') AS BOOLEAN) as compute, | |
CAST(element_at(labels, 'label_node_role_kubernetes_io_master') AS BOOLEAN) as master, | |
timestamp, | |
timeprecision, | |
dt | |
FROM {| dataSourceTableName "vcpus-by-role" |} | |
--- | |
apiVersion: metering.openshift.io/v1alpha1 | |
kind: ReportGenerationQuery | |
metadata: | |
name: "compute-vcpus-by-role" | |
spec: | |
reportQueries: | |
- "vcpus-by-role-raw" | |
view: | |
disabled: true | |
columns: | |
- name: period_start | |
type: timestamp | |
unit: date | |
- name: period_end | |
type: timestamp | |
unit: date | |
# - name: cluster_uuid | |
# type: string | |
# unit: uuid | |
- name: vcpu_core_seconds | |
type: double | |
unit: cpu_core_seconds | |
inputs: | |
- name: ReportingStart | |
- name: ReportingEnd | |
query: | | |
SELECT | |
timestamp '{| default .Report.ReportingStart .Report.Inputs.ReportingStart| prestoTimestamp |}' AS period_start, | |
timestamp '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prestoTimestamp |}' AS period_end, | |
sum(vcpu_core_seconds) as vcpu_core_seconds | |
FROM {| generationQueryViewName "vcpus-by-role-raw" |} | |
WHERE compute | |
AND "timestamp" >= timestamp '{| default .Report.ReportingStart .Report.Inputs.ReportingStart | prestoTimestamp |}' | |
AND "timestamp" < timestamp '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prestoTimestamp |}' | |
AND dt >= '{| default .Report.ReportingStart .Report.Inputs.ReportingStart | prometheusMetricPartitionFormat |}' | |
AND dt <= '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prometheusMetricPartitionFormat |}' | |
ORDER BY vcpu_core_seconds DESC | |
--- | |
apiVersion: metering.openshift.io/v1alpha1 | |
kind: ReportGenerationQuery | |
metadata: | |
name: "master-vcpus-by-role" | |
spec: | |
reportQueries: | |
- "vcpus-by-role-raw" | |
view: | |
disabled: true | |
columns: | |
- name: period_start | |
type: timestamp | |
unit: date | |
- name: period_end | |
type: timestamp | |
unit: date | |
# - name: cluster_uuid | |
# type: string | |
# unit: uuid | |
- name: vcpu_core_seconds | |
type: double | |
unit: vcpu_core_seconds | |
inputs: | |
- name: ReportingStart | |
- name: ReportingEnd | |
query: | | |
SELECT | |
timestamp '{| default .Report.ReportingStart .Report.Inputs.ReportingStart| prestoTimestamp |}' AS period_start, | |
timestamp '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prestoTimestamp |}' AS period_end, | |
sum(vcpu_core_seconds) as vcpu_core_seconds | |
FROM {| generationQueryViewName "vcpus-by-role-raw" |} | |
WHERE master | |
AND "timestamp" >= timestamp '{| default .Report.ReportingStart .Report.Inputs.ReportingStart | prestoTimestamp |}' | |
AND "timestamp" < timestamp '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prestoTimestamp |}' | |
AND dt >= '{| default .Report.ReportingStart .Report.Inputs.ReportingStart | prometheusMetricPartitionFormat |}' | |
AND dt <= '{| default .Report.ReportingEnd .Report.Inputs.ReportingEnd | prometheusMetricPartitionFormat |}' | |
ORDER BY vcpu_core_seconds DESC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: metering.openshift.io/v1alpha1 | |
kind: ReportPrometheusQuery | |
metadata: | |
name: vcpus-by-role | |
spec: | |
query: | | |
sum(kube_node_labels * on(node) group_left kube_node_status_capacity_cpu_cores) | |
BY (label_beta_kubernetes_io_instance_type, label_node_role_kubernetes_io_compute, | |
label_node_role_kubernetes_io_master) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment