diff --git a/grafana/rmf-app/docker-compose.yaml b/grafana/rmf-app/docker-compose.yaml index 87b9f897..290342f2 100644 --- a/grafana/rmf-app/docker-compose.yaml +++ b/grafana/rmf-app/docker-compose.yaml @@ -23,4 +23,4 @@ services: GF_LOG_FILTERS: plugin.ibm-rmf-datasource:debug GF_LOG_LEVEL: info GF_DATAPROXY_LOGGING: 1 - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: ibm-rmf-app,ibm-rmf-datasource,ibm-rmf-panel + GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: ibm-rmf-app,ibm-rmf-datasource diff --git a/grafana/rmf-app/grammar/RMFQuery.g4 b/grafana/rmf-app/grammar/RMFQuery.g4 index c2a5d61d..18481aa2 100644 --- a/grafana/rmf-app/grammar/RMFQuery.g4 +++ b/grafana/rmf-app/grammar/RMFQuery.g4 @@ -30,7 +30,7 @@ Examples: grammar RMFQuery; -query: WS* RES_TYPE (DOT REPORT)? DOT identifier WS* qualifiers? WS* EOF; +query: WS* RES_TYPE ((DOT REPORT) | (DOT REPORT_CAPTION) | (DOT REPORT_BANNER))? DOT identifier WS* qualifiers? WS* EOF; // A workaround: some reports are also resource TYPES (e.g. CPC). // In general, the problem is that we define keywords that are not distiguashable for antlr from // string literals which we also support. @@ -54,7 +54,7 @@ workscopeValue: string? COMMA string? COMMA WORKSCOPE_TYPE; // Another workaround: it won't work on token level. number: INTEGER | DECIMAL; stringUnquoted - : IDENTIFIER | RES_TYPE | REPORT | WORKSCOPE | RANGE | ULQ | NAME | FILTER + : IDENTIFIER | RES_TYPE | REPORT | REPORT_CAPTION | REPORT_BANNER | WORKSCOPE | RANGE | ULQ | NAME | FILTER | PAT | LB | UB | HI | LO | ORD | ORD_OPTION | INTEGER | STRING_UNQUOTED; stringSpaced: stringUnquoted (WS + stringUnquoted)*; stringDotted: stringUnquoted (DOT stringUnquoted)*; @@ -62,6 +62,8 @@ string: stringDotted | STRING_QUOTED; REPORT: R E P O R T; +REPORT_CAPTION: R E P O R T UNDERSCORE C A P T I O N; +REPORT_BANNER: R E P O R T UNDERSCORE B A N N E R; WORKSCOPE: W O R K S C O P E; RANGE: R A N G E; ULQ: U L Q; @@ -144,9 +146,11 @@ WS: [ \n\t\r]+; fragment SINGLE_QUOTE: '\''; fragment DOUBLE_QOUTE: '"'; +fragment UNDERSCORE: '_'; fragment STRING_ITEM_NO_QUOTE: ~[ .;{}=,]; fragment STRING_ITEM_SINGLE_QUOTE: ~'\''; fragment STRING_ITEM_DOUBLE_QUOTE: ~'"'; +fragment STRING_ITEM_UNDERSCORE: ~'_'; fragment A : [aA]; fragment B : [bB]; fragment C : [cC]; diff --git a/grafana/rmf-app/package.json b/grafana/rmf-app/package.json index 6ea6534a..ae3fcb9d 100644 --- a/grafana/rmf-app/package.json +++ b/grafana/rmf-app/package.json @@ -1,7 +1,7 @@ { "author": "IBM", "name": "ibm-rmf", - "version": "1.1.1", + "version": "2.0.0", "description": "IBM RMF for z/OS", "license": "Apache-2.0", "scripts": { diff --git a/grafana/rmf-app/pkg/plugin/datasource.go b/grafana/rmf-app/pkg/plugin/datasource.go index f4f68d8e..2d72d2f0 100644 --- a/grafana/rmf-app/pkg/plugin/datasource.go +++ b/grafana/rmf-app/pkg/plugin/datasource.go @@ -22,6 +22,7 @@ import ( "encoding/json" "errors" "net/http" + "regexp" "runtime/debug" "slices" "strings" @@ -56,6 +57,7 @@ var ( const ChannelCacheSizeMB = 64 const SdsDelay = 5 * time.Second const TimeSeriesType = "TimeSeries" +const QueryPattern = `^([A-Za-z_][A-Za-z0-9_]*)\(([^)]*)\)$` // e.g., banner(resource), table(resource), caption(resource) type RMFDatasource struct { uid string @@ -65,6 +67,7 @@ type RMFDatasource struct { ddsClient *dds.Client single singleflight.Group omegamonDs string + queryMatcher *regexp.Regexp } // NewRMFDatasource creates a new instance of the RMF datasource. @@ -86,6 +89,7 @@ func NewRMFDatasource(ctx context.Context, settings backend.DataSourceInstanceSe "uid", settings.UID, "name", settings.Name, "url", config.URL, "timeout", config.Timeout, "cacheSize", config.CacheSize, "username", config.Username, "tlsSkipVerify", config.JSON.TlsSkipVerify) + ds.queryMatcher = regexp.MustCompile(QueryPattern) return ds, nil } @@ -335,10 +339,14 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe } } else { // Query non-timeseries data - r := dds.NewRequest(params.Resource.Value, q.TimeRange.From.UTC(), q.TimeRange.To.UTC(), mintime) + queryKind, query := ds.parseQuery(params.Resource.Value) + r := dds.NewRequest(query, q.TimeRange.From.UTC(), q.TimeRange.To.UTC(), mintime) response = &backend.DataResponse{} - // FIXME: doesn't it need to be cached? - if newFrame, err := ds.getFrame(r, false); err != nil { + newFrame := ds.getCachedReportFrames(r) + if newFrame == nil { + newFrame, err = ds.getFrame(r, false) + } + if err != nil { var msg *dds.Message if errors.As(err, &msg) { response.Error = err @@ -348,6 +356,19 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe response.Status = backend.StatusInternal } } else if newFrame != nil { + ds.setCachedReportFrames(newFrame, r) + switch queryKind { + case "banner": + newFrame = frame.GetFrameBanner(newFrame) + case "caption": + newFrame = frame.GetFrameCaption(newFrame) + case "table": + newFrame = frame.GetFrameTable(newFrame) + default: + if strings.Contains(query, "report=") { + newFrame = frame.GetFrameTable(newFrame) + } + } response.Frames = append(response.Frames, newFrame) } } @@ -450,3 +471,11 @@ func (ds *RMFDatasource) SubscribeStream(_ context.Context, req *backend.Subscri func (d *RMFDatasource) PublishStream(_ context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { return &backend.PublishStreamResponse{Status: backend.PublishStreamStatusPermissionDenied}, nil } + +func (d *RMFDatasource) parseQuery(resource string) (string, string) { + matches := d.queryMatcher.FindStringSubmatch(resource) + if len(matches) == 3 { + return strings.ToLower(matches[1]), matches[2] + } + return "", resource +} diff --git a/grafana/rmf-app/pkg/plugin/frame/utils.go b/grafana/rmf-app/pkg/plugin/frame/utils.go index 1e0a14fd..a24ab9b5 100644 --- a/grafana/rmf-app/pkg/plugin/frame/utils.go +++ b/grafana/rmf-app/pkg/plugin/frame/utils.go @@ -19,6 +19,8 @@ package frame import ( "errors" + "fmt" + "slices" "strings" "time" @@ -117,3 +119,84 @@ func MergeInto(dst *data.Frame, src *data.Frame) (*data.Frame, error) { } return dst, nil } + +func CopyReportField(field *data.Field, length int) *data.Field { + var newField *data.Field + t := field.Type() + switch t { + case data.FieldTypeNullableFloat64: + newField = data.NewField(field.Name, field.Labels, []*float64{}) + case data.FieldTypeNullableString: + newField = data.NewField(field.Name, field.Labels, []*string{}) + default: + newField = data.NewField(field.Name, field.Labels, []string{}) + } + newField.SetConfig(field.Config) + length = slices.Min([]int{length, field.Len()}) + for i := 0; i < length; i++ { + newField.Append(field.At(i)) + } + return newField +} + +func GetFrameTable(f *data.Frame) *data.Frame { + var newFrame data.Frame + for _, field := range f.Fields { + if !strings.HasPrefix(field.Name, CaptionPrefix) && + !strings.HasPrefix(field.Name, BannerPrefix) { + var newField = CopyReportField(field, field.Len()) + newField.Delete(0) + newFrame.Fields = append(newFrame.Fields, newField) + } + } + return &newFrame +} + +func GetFrameCaption(f *data.Frame) *data.Frame { + var newFrame data.Frame + newFrame.Fields = append(newFrame.Fields, data.NewField("Key", nil, []string{})) + newFrame.Fields = append(newFrame.Fields, data.NewField("Value", nil, []string{})) + for _, field := range f.Fields { + if strings.HasPrefix(field.Name, CaptionPrefix) { + key := strings.TrimPrefix(field.Name, CaptionPrefix) + value := getStringAt(field, 0) + newFrame.Fields[0].Append(key) + newFrame.Fields[1].Append(value) + } + } + return &newFrame +} + +func GetFrameBanner(f *data.Frame) *data.Frame { + var newFrame data.Frame + newFrame.Fields = append(newFrame.Fields, data.NewField("Key", nil, []string{})) + newFrame.Fields = append(newFrame.Fields, data.NewField("Value", nil, []string{})) + for _, field := range f.Fields { + if strings.HasPrefix(field.Name, BannerPrefix) { + key := strings.TrimPrefix(field.Name, BannerPrefix) + value := getStringAt(field, 0) + newFrame.Fields[0].Append(key) + newFrame.Fields[1].Append(value) + } + } + return &newFrame +} + +func getStringAt(field *data.Field, index int) string { + value := "" + if field.Len() > index { + v := field.At(index) + if v != nil { + if s, ok := v.(string); ok { + value = s + } else if s, ok := v.(*string); ok { + if s != nil { + value = *s + } + } else if f, ok := v.(float64); ok { + value = fmt.Sprintf("%f", f) + } + } + } + return value +} diff --git a/grafana/rmf-app/pkg/plugin/query.go b/grafana/rmf-app/pkg/plugin/query.go index 49e79f21..5a27bb2a 100644 --- a/grafana/rmf-app/pkg/plugin/query.go +++ b/grafana/rmf-app/pkg/plugin/query.go @@ -91,6 +91,17 @@ func (ds *RMFDatasource) getCachedTSFrames(r *dds.Request, stop time.Time, step return f, jump, err } +func (ds *RMFDatasource) getCachedReportFrames(r *dds.Request) *data.Frame { + return ds.frameCache.Get(r, true) +} + +func (ds *RMFDatasource) setCachedReportFrames(f *data.Frame, r *dds.Request) { + logger := log.Logger.With("func", "setCachedReportFrames") + if err := ds.frameCache.Set(f, r, true); err != nil { + logger.Error("failed to save data in cache", "request", r.String(), "reason", err) + } +} + func (ds *RMFDatasource) serveTSFrame(ctx context.Context, sender *backend.StreamSender, fields frame.SeriesFields, r *dds.Request, hist bool) error { logger := log.Logger.With("func", "serveTSFrame") var f *data.Frame diff --git a/grafana/rmf-app/src/dashboards/dds/CACHDET.json b/grafana/rmf-app/src/dashboards/dds/CACHDET.json index c80b8d2c..474fd101 100644 --- a/grafana/rmf-app/src/dashboards/dds/CACHDET.json +++ b/grafana/rmf-app/src/dashboards/dds/CACHDET.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -61,9 +55,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -83,10 +79,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, "id": 2, "interval": "1m", @@ -98,11 +94,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "a30ba0f0-e67a-44b0-bfe6-3b437603e414", "selectedQuery": "SYSPLEX.REPORT.CACHDET", "selectedResource": { - "label": "report=CACHDET&resource=,,SYSPLEX", - "value": "report=CACHDET&resource=,,SYSPLEX" + "label": "TABLE(report=CACHDET&resource=,,SYSPLEX)", + "value": "TABLE(report=CACHDET&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -379,7 +374,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CACHDET", + "selectedResource": { + "label": "BANNER(report=CACHDET&resource=,,SYSPLEX)", + "value": "BANNER(report=CACHDET&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_CAPTION.CACHDET", + "selectedResource": { + "label": "CAPTION(report=CACHDET&resource=,,SYSPLEX)", + "value": "CAPTION(report=CACHDET&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -408,7 +549,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/CACHSUM.json b/grafana/rmf-app/src/dashboards/dds/CACHSUM.json index 2d0305e6..3e55637d 100644 --- a/grafana/rmf-app/src/dashboards/dds/CACHSUM.json +++ b/grafana/rmf-app/src/dashboards/dds/CACHSUM.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "min": -1, @@ -83,12 +79,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -98,11 +94,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "0a230d99-a837-4aff-b520-3b6c68d5a8e0", "selectedQuery": "SYSPLEX.REPORT.CACHSUM", "selectedResource": { - "label": "report=CACHSUM&resource=,,SYSPLEX", - "value": "report=CACHSUM&resource=,,SYSPLEX" + "label": "TABLE(report=CACHSUM&resource=,,SYSPLEX)", + "value": "TABLE(report=CACHSUM&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -341,7 +336,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CACHSUM", + "selectedResource": { + "label": "BANNER(report=CACHSUM&resource=,,SYSPLEX)", + "value": "BANNER(report=CACHSUM&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_CAPTION.CACHSUM", + "selectedResource": { + "label": "CAPTION(report=CACHSUM&resource=,,SYSPLEX)", + "value": "CAPTION(report=CACHSUM&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -370,7 +511,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/CFACT.json b/grafana/rmf-app/src/dashboards/dds/CFACT.json index a205fed6..ce6b72c1 100644 --- a/grafana/rmf-app/src/dashboards/dds/CFACT.json +++ b/grafana/rmf-app/src/dashboards/dds/CFACT.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "26f5f14b-f506-4c31-907c-9f32ccd314e4", "selectedQuery": "SYSPLEX.REPORT.CFACT", "selectedResource": { - "label": "report=CFACT&resource=,,SYSPLEX", - "value": "report=CFACT&resource=,,SYSPLEX" + "label": "TABLE(report=CFACT&resource=,,SYSPLEX)", + "value": "TABLE(report=CFACT&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -394,7 +389,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CFACT", + "selectedResource": { + "label": "BANNER(report=CFACT&resource=,,SYSPLEX)", + "value": "BANNER(report=CFACT&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -423,7 +491,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/CFOVER.json b/grafana/rmf-app/src/dashboards/dds/CFOVER.json index 7482aab8..3f8b5f7b 100644 --- a/grafana/rmf-app/src/dashboards/dds/CFOVER.json +++ b/grafana/rmf-app/src/dashboards/dds/CFOVER.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "0c882408-b619-4f60-a8a3-37be2c38af18", "selectedQuery": "SYSPLEX.REPORT.CFOVER", "selectedResource": { - "label": "report=CFOVER&resource=,,SYSPLEX", - "value": "report=CFOVER&resource=,,SYSPLEX" + "label": "TABLE(report=CFOVER&resource=,,SYSPLEX)", + "value": "TABLE(report=CFOVER&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -290,7 +285,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CFOVER", + "selectedResource": { + "label": "BANNER(report=CFOVER&resource=,,SYSPLEX)", + "value": "BANNER(report=CFOVER&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_CAPTION.CFOVER", + "selectedResource": { + "label": "CAPTION(report=CFOVER&resource=,,SYSPLEX)", + "value": "CAPTION(report=CFOVER&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -319,7 +460,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/CFSYS.json b/grafana/rmf-app/src/dashboards/dds/CFSYS.json index eac9cc54..1a2c6bc8 100644 --- a/grafana/rmf-app/src/dashboards/dds/CFSYS.json +++ b/grafana/rmf-app/src/dashboards/dds/CFSYS.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "c699b2d0-fa49-4b45-bae9-913739728e44", "selectedQuery": "SYSPLEX.REPORT.CFSYS", "selectedResource": { - "label": "report=CFSYS&resource=,,SYSPLEX", - "value": "report=CFSYS&resource=,,SYSPLEX" + "label": "TABLE(report=CFSYS&resource=,,SYSPLEX)", + "value": "TABLE(report=CFSYS&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -285,7 +280,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CFSYS", + "selectedResource": { + "label": "BANNER(report=CFSYS&resource=,,SYSPLEX)", + "value": "BANNER(report=CFSYS&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -314,7 +382,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/CHANNEL.json b/grafana/rmf-app/src/dashboards/dds/CHANNEL.json index 43c6544f..748087e2 100644 --- a/grafana/rmf-app/src/dashboards/dds/CHANNEL.json +++ b/grafana/rmf-app/src/dashboards/dds/CHANNEL.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "9f386c5a-cffd-4367-8065-189a5e4fe925", "selectedQuery": "MVS_IMAGE.REPORT.CHANNEL{name=$LPAR}", "selectedResource": { - "label": "report=CHANNEL&resource=,$LPAR,MVS_IMAGE", - "value": "report=CHANNEL&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=CHANNEL&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=CHANNEL&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -129,7 +124,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.CHANNEL{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=CHANNEL&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=CHANNEL&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -158,7 +226,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -196,7 +265,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/CPC.json b/grafana/rmf-app/src/dashboards/dds/CPC.json index 08da9ee1..66eff1d9 100644 --- a/grafana/rmf-app/src/dashboards/dds/CPC.json +++ b/grafana/rmf-app/src/dashboards/dds/CPC.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -79,15 +75,100 @@ ] } }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "LPAR Name" + }, + "properties": [ + { + "id": "custom.width", + "value": 103 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Defined MSU/h" + }, + "properties": [ + { + "id": "custom.width", + "value": 124 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Capping Option" + }, + "properties": [ + { + "id": "custom.width", + "value": 129 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LPAR Mgmt %" + }, + "properties": [ + { + "id": "custom.width", + "value": 119 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Logical Total %" + }, + "properties": [ + { + "id": "custom.width", + "value": 125 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Physical Total %" + }, + "properties": [ + { + "id": "custom.width", + "value": 127 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Actual MSU/h" + }, + "properties": [ + { + "id": "custom.width", + "value": 112 + } + ] + } + ] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 19, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +176,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "de465562-c3f1-4548-93fb-d19e0cdb70e6", "selectedQuery": "MVS_IMAGE.REPORT.CPC{name=$LPAR}", "selectedResource": { - "label": "report=CPC&resource=,$LPAR,MVS_IMAGE", - "value": "report=CPC&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=CPC&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=CPC&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -291,7 +371,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 19, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.CPC{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=CPC&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=CPC&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 5, + "x": 19, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.CPC{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=CPC&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=CPC&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -320,7 +546,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -358,7 +585,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/CRYOVW.json b/grafana/rmf-app/src/dashboards/dds/CRYOVW.json index 9e6fe559..47541e47 100644 --- a/grafana/rmf-app/src/dashboards/dds/CRYOVW.json +++ b/grafana/rmf-app/src/dashboards/dds/CRYOVW.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "8ad04b33-d007-4e2c-866c-7f2dbeb9b6be", "selectedQuery": "SYSPLEX.REPORT.CRYOVW", "selectedResource": { - "label": "report=CRYOVW&resource=,,SYSPLEX", - "value": "report=CRYOVW&resource=,,SYSPLEX" + "label": "TABLE(report=CRYOVW&resource=,,SYSPLEX)", + "value": "TABLE(report=CRYOVW&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -312,7 +307,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.CRYOVW", + "selectedResource": { + "label": "BANNER(report=CRYOVW&resource=,,SYSPLEX)", + "value": "BANNER(report=CRYOVW&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -341,7 +409,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json index 5285b19f..9ac767cc 100644 --- a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json @@ -133,7 +133,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "ceef1065-547a-4c22-bbd1-610ece245fed", "selectedMetrics": [ { "description": "auto", @@ -156,7 +155,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "ceef1065-547a-4c22-bbd1-610ece245fed", "selectedMetrics": [ { "description": "auto", @@ -263,7 +261,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "7e00aa47-db1b-4e96-bacd-6802c7fde5a6", "selectedMetrics": [ { "description": "auto", @@ -286,7 +283,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "7e00aa47-db1b-4e96-bacd-6802c7fde5a6", "selectedMetrics": [ { "description": "auto", @@ -388,7 +384,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "e0bde46f-4da8-44b3-9d7a-47a1885e9c4c", "selectedQuery": "SYSPLEX.% CSA utilization by job {filter=HI=10}", "selectedResource": { "label": "id=8D2420&resource=,,SYSPLEX&filter=HI=10", @@ -483,7 +478,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "38368e80-de64-4bac-ae20-c18a53ad82e6", "selectedQuery": "SYSPLEX.% SQA utilization by job {filter=HI=10}", "selectedResource": { "label": "id=8D2480&resource=,,SYSPLEX&filter=HI=10", diff --git a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json index ff6afb81..9e7727f9 100644 --- a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json +++ b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json @@ -175,7 +175,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "c336be06-9a32-4d96-a384-3638ebdca18d", "selectedMetrics": [ { "description": "auto", @@ -198,7 +197,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "c336be06-9a32-4d96-a384-3638ebdca18d", "selectedMetrics": [ { "description": "auto", @@ -347,7 +345,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "efe7728a-c585-41df-a912-9d97eaa84df0", "selectedMetrics": [ { "description": "auto", @@ -370,7 +367,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "efe7728a-c585-41df-a912-9d97eaa84df0", "selectedMetrics": [ { "description": "auto", @@ -501,7 +497,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "7a94c97c-baa2-4a4f-a343-5050bfcc5706", "selectedMetrics": [ { "description": "auto", @@ -625,7 +620,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "892780d9-ebee-4151-a8c5-cb7d1939c9a3", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json index 1715f088..c8954895 100644 --- a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json @@ -141,7 +141,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "7f6fa527-8f2f-4535-b040-e606aaa65853", "selectedMetrics": [ { "description": "auto", @@ -252,7 +251,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "6a913fa1-68e1-4faf-9b9d-95d4792f5bd6", "selectedMetrics": [ { "description": "auto", @@ -363,7 +361,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "f0168ba0-e693-4f71-b7ee-d80d275b3836", "selectedMetrics": [ { "description": "auto", @@ -385,7 +382,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "f0168ba0-e693-4f71-b7ee-d80d275b3836", "selectedQuery": "SYSPLEX.# frames available by coupling facility", "selectedResource": { "label": "id=8D2010&resource=,,SYSPLEX", diff --git a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json index 10efd83c..2dcd41b9 100644 --- a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json +++ b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json @@ -159,7 +159,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "1c087c01-f4dd-4a84-b153-2bff47c0e212", "selectedMetrics": [ { "description": "auto", @@ -277,7 +276,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "9b83d375-f07f-42d3-9498-f4dd6be6aec1", "selectedMetrics": [ { "description": "auto", @@ -419,7 +417,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "052978e0-5eae-4f9f-8fd5-aa5012a7c807", "selectedMetrics": [ { "description": "auto", @@ -441,7 +438,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "052978e0-5eae-4f9f-8fd5-aa5012a7c807", "selectedQuery": "SYSPLEX.# frames available by coupling facility", "selectedResource": { "label": "id=8D2010&resource=,,SYSPLEX", diff --git a/grafana/rmf-app/src/dashboards/dds/DELAY.json b/grafana/rmf-app/src/dashboards/dds/DELAY.json index d1941824..35bb0724 100644 --- a/grafana/rmf-app/src/dashboards/dds/DELAY.json +++ b/grafana/rmf-app/src/dashboards/dds/DELAY.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "b91a33da-135f-44a5-cfed-b3689f07856b", "selectedQuery": "MVS_IMAGE.REPORT.DELAY{name=$LPAR}", "selectedResource": { - "label": "report=DELAY&resource=,$LPAR,MVS_IMAGE", - "value": "report=DELAY&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=DELAY&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=DELAY&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -142,7 +137,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.DELAY{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=DELAY&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=DELAY&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -171,7 +239,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -209,7 +278,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/DEV.json b/grafana/rmf-app/src/dashboards/dds/DEV.json index 019bf396..4b05f370 100644 --- a/grafana/rmf-app/src/dashboards/dds/DEV.json +++ b/grafana/rmf-app/src/dashboards/dds/DEV.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "b088b1b8-86f7-4a06-ed7c-33f4859c3030", "selectedQuery": "MVS_IMAGE.REPORT.DEV{name=$LPAR}", "selectedResource": { - "label": "report=DEV&resource=,$LPAR,MVS_IMAGE", - "value": "report=DEV&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=DEV&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=DEV&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -146,7 +141,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.DEV{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=DEV&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=DEV&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -175,7 +243,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -213,7 +282,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/DEVR.json b/grafana/rmf-app/src/dashboards/dds/DEVR.json index 67119f64..412ec932 100644 --- a/grafana/rmf-app/src/dashboards/dds/DEVR.json +++ b/grafana/rmf-app/src/dashboards/dds/DEVR.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "5e502a01-3a37-4873-94ff-7b635ecaee3a", "selectedQuery": "MVS_IMAGE.REPORT.DEVR{name=$LPAR}", "selectedResource": { - "label": "report=DEVR&resource=,$LPAR,MVS_IMAGE", - "value": "report=DEVR&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=DEVR&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=DEVR&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -177,7 +172,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.DEVR{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=DEVR&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=DEVR&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -206,7 +274,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -244,7 +313,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/DSND.json b/grafana/rmf-app/src/dashboards/dds/DSND.json index f52bfb6b..e1f6b015 100644 --- a/grafana/rmf-app/src/dashboards/dds/DSND.json +++ b/grafana/rmf-app/src/dashboards/dds/DSND.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, "id": 2, "targets": [ @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "1f674985-8c23-483d-bf70-7d637d6e262", "selectedQuery": "MVS_IMAGE.REPORT.DSND{name=$LPAR}", "selectedResource": { - "label": "report=DSND&resource=,$LPAR,MVS_IMAGE", - "value": "report=DSND&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=DSND&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=DSND&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -129,7 +124,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.DSND{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=DSND&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=DSND&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -158,7 +226,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -196,7 +265,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/EADM.json b/grafana/rmf-app/src/dashboards/dds/EADM.json index 0e69f301..38545d4f 100644 --- a/grafana/rmf-app/src/dashboards/dds/EADM.json +++ b/grafana/rmf-app/src/dashboards/dds/EADM.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 20, - "w": 20, + "h": 17, + "w": 18, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "dda59d24-7686-49e6-b45f-0f8e5b449dee", "selectedQuery": "MVS_IMAGE.REPORT.EADM{name=$LPAR}", "selectedResource": { - "label": "report=EADM&resource=,$LPAR,MVS_IMAGE", - "value": "report=EADM&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=EADM&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=EADM&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -143,7 +138,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 18, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.EADM{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=EADM&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=EADM&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.EADM{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=EADM&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=EADM&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": false, @@ -172,7 +313,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -210,7 +352,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json b/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json index b20aa2d5..f3592956 100644 --- a/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json +++ b/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "87fa8279-0f6c-425e-835d-652e59e29ed9", "selectedQuery": "MVS_IMAGE.REPORT.ENCLAVE{name=$LPAR}", "selectedResource": { - "label": "report=ENCLAVE&resource=,$LPAR,MVS_IMAGE", - "value": "report=ENCLAVE&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -292,7 +287,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.ENCLAVE{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.ENCLAVE{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=ENCLAVE&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -321,7 +462,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -359,7 +501,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/ENQ.json b/grafana/rmf-app/src/dashboards/dds/ENQ.json index 1346f3c6..339f397e 100644 --- a/grafana/rmf-app/src/dashboards/dds/ENQ.json +++ b/grafana/rmf-app/src/dashboards/dds/ENQ.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "2e245147-c660-4f64-bcaf-326ba6d434ac", "selectedQuery": "MVS_IMAGE.REPORT.ENQ{name=$LPAR}", "selectedResource": { - "label": "report=ENQ&resource=,$LPAR,MVS_IMAGE", - "value": "report=ENQ&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=ENQ&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=ENQ&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -129,7 +124,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.ENQ{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=ENQ&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=ENQ&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -158,7 +226,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -196,7 +265,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json index a9d09844..88266977 100644 --- a/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json @@ -141,7 +141,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "1cf56958-8e08-441e-8e83-22cb5201b290", "selectedMetrics": [ { "description": "auto", @@ -164,7 +163,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "1cf56958-8e08-441e-8e83-22cb5201b290", "selectedMetrics": [ { "description": "auto", @@ -269,7 +267,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "e5835fd0-81c5-43e2-9b74-2952ea723fe4", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json b/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json index 8df76e9a..655789e8 100644 --- a/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json +++ b/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json @@ -171,7 +171,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "57c70b1b-5050-4b2f-b1e3-6e68de1031af", "selectedMetrics": [ { "description": "auto", @@ -194,7 +193,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "57c70b1b-5050-4b2f-b1e3-6e68de1031af", "selectedMetrics": [ { "description": "auto", @@ -322,7 +320,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "a1ba8344-d5af-41e3-af7e-fb87e262d636", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json index 55886791..7a278347 100644 --- a/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json @@ -132,7 +132,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "b6137830-43ac-4fec-b516-07e80b0ab57a", "selectedQuery": "SYSPLEX.# active users by MVS image {filter=hi=1000;ord=na}", "selectedResource": { "label": "id=8D0630&resource=,,SYSPLEX&filter=hi=1000%3Bord=na", @@ -147,7 +146,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "b6137830-43ac-4fec-b516-07e80b0ab57a", "selectedQuery": "SYSPLEX.# users by MVS image {filter=hi=1000;ord=na}", "selectedResource": { "label": "id=8D0D60&resource=,,SYSPLEX&filter=hi=1000%3Bord=na", @@ -242,7 +240,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "923072ca-7c82-42af-ea41-8c254f58da85", "selectedQuery": "SYSPLEX.% workflow", "selectedResource": { "label": "id=8D0550&resource=,,SYSPLEX", @@ -257,7 +254,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "923072ca-7c82-42af-ea41-8c254f58da85", "selectedQuery": "SYSPLEX.% workflow for processor", "selectedResource": { "label": "id=8D1F30&resource=,,SYSPLEX", @@ -272,7 +268,6 @@ }, "hide": false, "refId": "C", - "rmfPanelGuid": "923072ca-7c82-42af-ea41-8c254f58da85", "selectedQuery": "SYSPLEX.% workflow for i/o", "selectedResource": { "label": "id=8D1ED0&resource=,,SYSPLEX", @@ -367,7 +362,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "ab8cdb99-7217-42df-e6c1-a1602887bbd8", "selectedQuery": "SYSPLEX.i/o activity rate", "selectedResource": { "label": "id=8D0E90&resource=,,SYSPLEX", @@ -462,7 +456,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "8cede5b5-8778-4862-8b7e-f476a6b9e56a", "selectedQuery": "SYSPLEX.transaction ended rate", "selectedResource": { "label": "id=8D1200&resource=,,SYSPLEX", diff --git a/grafana/rmf-app/src/dashboards/dds/General Activity.json b/grafana/rmf-app/src/dashboards/dds/General Activity.json index e44c4b79..b3969f8c 100644 --- a/grafana/rmf-app/src/dashboards/dds/General Activity.json +++ b/grafana/rmf-app/src/dashboards/dds/General Activity.json @@ -165,7 +165,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "a396411d-dfdb-4025-9086-2eb94e561016", "selectedMetrics": [ { "description": "auto", @@ -188,7 +187,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "a396411d-dfdb-4025-9086-2eb94e561016", "selectedMetrics": [ { "description": "auto", @@ -306,7 +304,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "333c7f37-7c4d-4ca5-ac04-25dbbce2bed2", "selectedMetrics": [ { "description": "auto", @@ -329,7 +326,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "333c7f37-7c4d-4ca5-ac04-25dbbce2bed2", "selectedMetrics": [ { "description": "auto", @@ -352,7 +348,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "C", - "rmfPanelGuid": "333c7f37-7c4d-4ca5-ac04-25dbbce2bed2", "selectedMetrics": [ { "description": "auto", @@ -472,7 +467,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "98f3d0b2-3679-4977-a94a-f984b7aadbf1", "selectedMetrics": [ { "description": "auto", @@ -591,7 +585,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "2132e046-9da2-4218-92f3-93482d5f110c", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/HSM.json b/grafana/rmf-app/src/dashboards/dds/HSM.json index d6032e5a..3acd4e4b 100644 --- a/grafana/rmf-app/src/dashboards/dds/HSM.json +++ b/grafana/rmf-app/src/dashboards/dds/HSM.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "4ca5f811-7ce7-4cb5-9c8e-e82c744f7689", "selectedQuery": "MVS_IMAGE.REPORT.HSM{name=$LPAR}", "selectedResource": { - "label": "report=HSM&resource=,$LPAR,MVS_IMAGE", - "value": "report=HSM&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=HSM&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=HSM&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -136,7 +131,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.HSM{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=HSM&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=HSM&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -165,7 +233,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -203,7 +272,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/IOQ.json b/grafana/rmf-app/src/dashboards/dds/IOQ.json index a96f4626..0322d0c3 100644 --- a/grafana/rmf-app/src/dashboards/dds/IOQ.json +++ b/grafana/rmf-app/src/dashboards/dds/IOQ.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "c53199a2-81e7-4063-9aa8-814de9ddec89", "selectedQuery": "MVS_IMAGE.REPORT.IOQ{name=$LPAR}", "selectedResource": { - "label": "report=IOQ&resource=,$LPAR,MVS_IMAGE", - "value": "report=IOQ&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=IOQ&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=IOQ&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -147,7 +142,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.IOQ{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=IOQ&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=IOQ&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -176,7 +244,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -214,7 +283,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/JES.json b/grafana/rmf-app/src/dashboards/dds/JES.json index a991055d..6b1d2836 100644 --- a/grafana/rmf-app/src/dashboards/dds/JES.json +++ b/grafana/rmf-app/src/dashboards/dds/JES.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "9b725562-731d-424f-840e-832de4a70f2c", "selectedQuery": "MVS_IMAGE.REPORT.JES{name=$LPAR}", "selectedResource": { - "label": "report=JES&resource=,$LPAR,MVS_IMAGE", - "value": "report=JES&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=JES&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=JES&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -136,7 +131,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.JES{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=JES&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=JES&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -165,7 +233,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -203,7 +272,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/LOCKSP.json b/grafana/rmf-app/src/dashboards/dds/LOCKSP.json index 5702bafb..2c403777 100644 --- a/grafana/rmf-app/src/dashboards/dds/LOCKSP.json +++ b/grafana/rmf-app/src/dashboards/dds/LOCKSP.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "1898c684-d2dd-4b95-a655-e1c7170ad8e8", "selectedQuery": "MVS_IMAGE.REPORT.LOCKSP{name=$LPAR}", "selectedResource": { - "label": "report=LOCKSP&resource=,$LPAR,MVS_IMAGE", - "value": "report=LOCKSP&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -129,7 +124,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.LOCKSP{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.LOCKSP{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=LOCKSP&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -158,7 +299,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -196,7 +338,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/LOCKSU.json b/grafana/rmf-app/src/dashboards/dds/LOCKSU.json index 1d3220cb..f16633e2 100644 --- a/grafana/rmf-app/src/dashboards/dds/LOCKSU.json +++ b/grafana/rmf-app/src/dashboards/dds/LOCKSU.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, "id": 2, "targets": [ @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "8003e165-ab46-4b61-94b7-a37f69adc5c8", "selectedQuery": "MVS_IMAGE.REPORT.LOCKSU{name=$LPAR}", "selectedResource": { - "label": "report=LOCKSU&resource=,$LPAR,MVS_IMAGE", - "value": "report=LOCKSU&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -129,7 +124,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.LOCKSU{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.LOCKSU{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=LOCKSU&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -158,7 +299,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -196,7 +338,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/OPD.json b/grafana/rmf-app/src/dashboards/dds/OPD.json index 825daa91..a1f5d13c 100644 --- a/grafana/rmf-app/src/dashboards/dds/OPD.json +++ b/grafana/rmf-app/src/dashboards/dds/OPD.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 15, "w": 24, "x": 0, - "y": 0 + "y": 6 }, "id": 2, "targets": [ @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "1af174dd-1466-4d45-8c07-41f3f574f692", "selectedQuery": "MVS_IMAGE.REPORT.OPD{name=$LPAR}", "selectedResource": { - "label": "report=OPD&resource=,$LPAR,MVS_IMAGE", - "value": "report=OPD&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=OPD&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=OPD&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -138,7 +133,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.OPD{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=OPD&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=OPD&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.OPD{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=OPD&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=OPD&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -167,7 +308,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -205,7 +347,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json index 1c8dfd73..1a3b2351 100644 --- a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json @@ -134,7 +134,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "d0561874-0abf-4f8f-8ad8-77acf6ad9b6e", "selectedMetrics": [ { "description": "auto", @@ -157,7 +156,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "d0561874-0abf-4f8f-8ad8-77acf6ad9b6e", "selectedMetrics": [ { "description": "auto", @@ -262,7 +260,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "57bac808-50a5-42eb-984b-b0b356e5557f", "selectedMetrics": [ { "description": "auto", @@ -366,7 +363,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "6fa02334-83c1-420f-b5ef-facb93cbe976", "selectedMetrics": [ { "description": "auto", @@ -470,7 +466,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "f0bac2fe-d454-428a-9f83-997d40bdba29", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json index 807703cb..4d2dd9a7 100644 --- a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json +++ b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json @@ -149,7 +149,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "f77eeab9-f383-438a-a5b3-87b1857da198", "selectedMetrics": [ { "description": "auto", @@ -172,7 +171,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "f77eeab9-f383-438a-a5b3-87b1857da198", "selectedMetrics": [ { "description": "auto", @@ -331,7 +329,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "93decf63-c9a9-45b0-8663-f0350b1c1aef", "selectedMetrics": [ { "description": "auto", @@ -486,7 +483,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "9da02737-9190-4525-afc6-5fcdff257ed7", "selectedMetrics": [ { "description": "auto", @@ -589,7 +585,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "ae62aed9-c1bd-414d-8c75-02f952ef1a6e", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/PCIE.json b/grafana/rmf-app/src/dashboards/dds/PCIE.json index 4d08d5cf..8642e00f 100644 --- a/grafana/rmf-app/src/dashboards/dds/PCIE.json +++ b/grafana/rmf-app/src/dashboards/dds/PCIE.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 14, "w": 24, "x": 0, - "y": 0 + "y": 7 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -96,11 +92,10 @@ }, "hide": false, "refId": "A", - "rmfPanelGuid": "caaae81f-5211-4ff1-b8e2-e9350465da39", "selectedQuery": "MVS_IMAGE.REPORT.PCIE{name=$LPAR}", "selectedResource": { - "label": "report=PCIE&resource=,$LPAR,MVS_IMAGE", - "value": "report=PCIE&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=PCIE&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=PCIE&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -168,7 +163,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.PCIE{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=PCIE&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=PCIE&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.PCIE{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=PCIE&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=PCIE&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -197,7 +338,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -235,7 +377,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/PROC.json b/grafana/rmf-app/src/dashboards/dds/PROC.json index 39731e3f..2c37e1b1 100644 --- a/grafana/rmf-app/src/dashboards/dds/PROC.json +++ b/grafana/rmf-app/src/dashboards/dds/PROC.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "271e34ff-d57f-43d4-a897-6b8053983d24", "selectedQuery": "MVS_IMAGE.REPORT.PROC{name=$LPAR}", "selectedResource": { - "label": "report=PROC&resource=,$LPAR,MVS_IMAGE", - "value": "report=PROC&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=PROC&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=PROC&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -172,7 +167,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.PROC{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=PROC&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=PROC&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -201,7 +269,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -239,7 +308,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/PROCU.json b/grafana/rmf-app/src/dashboards/dds/PROCU.json index 6dfac03c..2d551795 100644 --- a/grafana/rmf-app/src/dashboards/dds/PROCU.json +++ b/grafana/rmf-app/src/dashboards/dds/PROCU.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "908ddeb5-eef7-4ab9-a3f0-4727805960d5", "selectedQuery": "MVS_IMAGE.REPORT.PROCU{name=$LPAR}", "selectedResource": { - "label": "report=PROCU&resource=,$LPAR,MVS_IMAGE", - "value": "report=PROCU&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=PROCU&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=PROCU&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -144,7 +139,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.PROCU{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=PROCU&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=PROCU&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -173,7 +241,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -211,7 +280,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json index 342bb628..600eb084 100644 --- a/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json @@ -133,7 +133,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "59f4976c-8330-4c9b-bc2a-41e94abc1824", "selectedMetrics": [ { "description": "auto", @@ -240,7 +239,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "ff313e06-7843-4c4f-8b96-eae2b4da3c4f", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Performance Index.json b/grafana/rmf-app/src/dashboards/dds/Performance Index.json index 6b1ea0b5..da45a8d3 100644 --- a/grafana/rmf-app/src/dashboards/dds/Performance Index.json +++ b/grafana/rmf-app/src/dashboards/dds/Performance Index.json @@ -175,7 +175,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "14aee868-c015-4adc-864d-de990799ab13", "selectedMetrics": [ { "description": "auto", @@ -320,7 +319,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "6b93b67e-4ad5-47f4-bcdd-1110772a5385", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json index 95bd4c24..4637f5a9 100644 --- a/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json @@ -134,7 +134,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "7cf88de5-c050-4fc2-9218-50e785ec1113", "selectedMetrics": [ { "description": "auto", @@ -157,7 +156,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "7cf88de5-c050-4fc2-9218-50e785ec1113", "selectedMetrics": [ { "description": "auto", @@ -261,7 +259,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "4a7dcaff-0ff6-4ae6-b8dd-0cd525d78f3f", "selectedMetrics": [ { "description": "auto", @@ -284,7 +281,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "4a7dcaff-0ff6-4ae6-b8dd-0cd525d78f3f", "selectedMetrics": [ { "description": "auto", @@ -390,7 +386,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "45977a94-5c8e-4f31-b562-01e5f59562c3", "selectedMetrics": [ { "description": "auto", @@ -495,7 +490,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "63b26478-2d66-47aa-a1fa-f5819bf83d61", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Response Time.json b/grafana/rmf-app/src/dashboards/dds/Response Time.json index 7a3af63d..52ad59eb 100644 --- a/grafana/rmf-app/src/dashboards/dds/Response Time.json +++ b/grafana/rmf-app/src/dashboards/dds/Response Time.json @@ -165,7 +165,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "41412a53-3786-4911-a891-d98a82e47fd0", "selectedMetrics": [ { "description": "auto", @@ -188,7 +187,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "41412a53-3786-4911-a891-d98a82e47fd0", "selectedMetrics": [ { "description": "auto", @@ -333,7 +331,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "ae00b785-3939-4afe-8136-ffbec9d97d2a", "selectedMetrics": [ { "description": "auto", @@ -355,7 +352,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "ae00b785-3939-4afe-8136-ffbec9d97d2a", "selectedMetrics": [ { "description": "auto", @@ -469,7 +465,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "dda174e4-a356-47ff-b98e-9f2ef6861a0b", "selectedMetrics": [ { "description": "auto", @@ -585,7 +580,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "c4e43c61-3008-490e-8fbc-edaece2e57ff", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/SPACED.json b/grafana/rmf-app/src/dashboards/dds/SPACED.json index b108d5e1..18ec3576 100644 --- a/grafana/rmf-app/src/dashboards/dds/SPACED.json +++ b/grafana/rmf-app/src/dashboards/dds/SPACED.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "346e1b6d-c49a-455f-81af-b18f52fea63a", "selectedQuery": "SYSPLEX.REPORT.SPACED", "selectedResource": { - "label": "report=SPACED&resource=,,SYSPLEX", - "value": "report=SPACED&resource=,,SYSPLEX" + "label": "TABLE(report=SPACED&resource=,,SYSPLEX)", + "value": "TABLE(report=SPACED&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -284,7 +279,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.SPACED", + "selectedResource": { + "label": "BANNER(report=SPACED&resource=,,SYSPLEX)", + "value": "BANNER(report=SPACED&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -313,7 +381,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/SPACEG.json b/grafana/rmf-app/src/dashboards/dds/SPACEG.json index 55eb7aa2..f0a3c438 100644 --- a/grafana/rmf-app/src/dashboards/dds/SPACEG.json +++ b/grafana/rmf-app/src/dashboards/dds/SPACEG.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 21, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "3414ef3c-2a88-49dc-a6a3-362d2b69c5b1", "selectedQuery": "SYSPLEX.REPORT.SPACEG", "selectedResource": { - "label": "report=SPACEG&resource=,,SYSPLEX", - "value": "report=SPACEG&resource=,,SYSPLEX" + "label": "TABLE(report=SPACEG&resource=,,SYSPLEX)", + "value": "TABLE(report=SPACEG&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -284,7 +279,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.SPACEG", + "selectedResource": { + "label": "BANNER(report=SPACEG&resource=,,SYSPLEX)", + "value": "BANNER(report=SPACEG&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -313,7 +381,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/STOR.json b/grafana/rmf-app/src/dashboards/dds/STOR.json index 1efb7dcf..3a8f167a 100644 --- a/grafana/rmf-app/src/dashboards/dds/STOR.json +++ b/grafana/rmf-app/src/dashboards/dds/STOR.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "f171daf4-2cd7-4209-a752-3a901b8ff6c3", "selectedQuery": "MVS_IMAGE.REPORT.STOR{name=$LPAR}", "selectedResource": { - "label": "report=STOR&resource=,$LPAR,MVS_IMAGE", - "value": "report=STOR&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STOR&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STOR&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -157,7 +152,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STOR{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STOR&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STOR&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -186,7 +254,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -224,7 +293,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORC.json b/grafana/rmf-app/src/dashboards/dds/STORC.json index 4030b292..c400ac49 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORC.json +++ b/grafana/rmf-app/src/dashboards/dds/STORC.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 18, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "b28c67d8-2f71-4e81-a797-b8b8ca413910", "selectedQuery": "MVS_IMAGE.REPORT.STORC{name=$LPAR}", "selectedResource": { - "label": "report=STORC&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORC&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORC&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORC&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -193,7 +188,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 18, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORC{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORC&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORC&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.STORC{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=STORC&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=STORC&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -222,7 +363,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -260,7 +402,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORCR.json b/grafana/rmf-app/src/dashboards/dds/STORCR.json index 0eb0765f..dbbb83ef 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORCR.json +++ b/grafana/rmf-app/src/dashboards/dds/STORCR.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, "id": 2, "targets": [ @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "d6900151-5042-4f06-aaa7-cc8088cdbe4e", "selectedQuery": "MVS_IMAGE.REPORT.STORCR{name=$LPAR}", "selectedResource": { - "label": "report=STORCR&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORCR&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORCR&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORCR&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -131,7 +126,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORCR{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORCR&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORCR&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -160,7 +228,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -198,7 +267,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORF.json b/grafana/rmf-app/src/dashboards/dds/STORF.json index 583c8a86..b29c89a7 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORF.json +++ b/grafana/rmf-app/src/dashboards/dds/STORF.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "a3b4e537-0ff9-4b37-b673-d2d27d82d1e6", "selectedQuery": "MVS_IMAGE.REPORT.STORF{name=$LPAR}", "selectedResource": { - "label": "report=STORF&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORF&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORF&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORF&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -140,7 +135,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORF{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORF&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORF&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -169,7 +237,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -207,7 +276,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORM.json b/grafana/rmf-app/src/dashboards/dds/STORM.json index a1c65679..b3fdabcc 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORM.json +++ b/grafana/rmf-app/src/dashboards/dds/STORM.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 18, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "35036b16-3f54-4417-9905-c5644da37dd5", "selectedQuery": "MVS_IMAGE.REPORT.STORM{name=$LPAR}", "selectedResource": { - "label": "report=STORM&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORM&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORM&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORM&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -218,7 +213,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 18, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORM{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORM&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORM&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.STORM{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=STORM&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=STORM&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -247,7 +388,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -285,7 +427,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORR.json b/grafana/rmf-app/src/dashboards/dds/STORR.json index dea5e2cb..9151ece7 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORR.json +++ b/grafana/rmf-app/src/dashboards/dds/STORR.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 17, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "7eb3af2b-4fd9-4751-982a-05a7faa388b1", "selectedQuery": "MVS_IMAGE.REPORT.STORR{name=$LPAR}", "selectedResource": { - "label": "report=STORR&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORR&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORR&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORR&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -211,7 +206,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 17, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORR{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORR&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORR&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 7, + "x": 17, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.STORR{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=STORR&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=STORR&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -240,7 +381,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -278,7 +420,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/STORS.json b/grafana/rmf-app/src/dashboards/dds/STORS.json index ee0e2a1b..4792077a 100644 --- a/grafana/rmf-app/src/dashboards/dds/STORS.json +++ b/grafana/rmf-app/src/dashboards/dds/STORS.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -79,15 +75,172 @@ ] } }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Group Type" + }, + "properties": [ + { + "id": "custom.width", + "value": 94 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total Users" + }, + "properties": [ + { + "id": "custom.width", + "value": 93 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Active Users" + }, + "properties": [ + { + "id": "custom.width", + "value": 101 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % ANY" + }, + "properties": [ + { + "id": "custom.width", + "value": 102 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % COMM" + }, + "properties": [ + { + "id": "custom.width", + "value": 119 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % LOCL" + }, + "properties": [ + { + "id": "custom.width", + "value": 111 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % SWAP" + }, + "properties": [ + { + "id": "custom.width", + "value": 116 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % OUTR" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "ACTV Frames" + }, + "properties": [ + { + "id": "custom.width", + "value": 108 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay % OTHER" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "IDLE Frames" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "FIXED Frames" + }, + "properties": [ + { + "id": "custom.width", + "value": 113 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Group Name" + }, + "properties": [ + { + "id": "custom.width", + "value": 101 + } + ] + } + ] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 18, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +248,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "4289baf1-221c-4be3-b469-ad2ec1c31848", "selectedQuery": "MVS_IMAGE.REPORT.STORS{name=$LPAR}", "selectedResource": { - "label": "report=STORS&resource=,$LPAR,MVS_IMAGE", - "value": "report=STORS&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=STORS&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=STORS&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -184,7 +336,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 18, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.STORS{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=STORS&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=STORS&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.STORS{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=STORS&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=STORS&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -213,7 +511,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -251,7 +550,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/SYSINFO.json b/grafana/rmf-app/src/dashboards/dds/SYSINFO.json index 3647f720..7692c038 100644 --- a/grafana/rmf-app/src/dashboards/dds/SYSINFO.json +++ b/grafana/rmf-app/src/dashboards/dds/SYSINFO.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, - "w": 24, + "h": 17, + "w": 19, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "6a55cb0b-c2bc-4586-b79d-53c103b29550", "selectedQuery": "MVS_IMAGE.REPORT.SYSINFO{name=$LPAR}", "selectedResource": { - "label": "report=SYSINFO&resource=,$LPAR,MVS_IMAGE", - "value": "report=SYSINFO&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -304,7 +299,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 19, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.SYSINFO{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 21, + "w": 5, + "x": 19, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_CAPTION.SYSINFO{name=$LPAR}", + "selectedResource": { + "label": "CAPTION(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)", + "value": "CAPTION(report=SYSINFO&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -333,7 +474,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -371,7 +513,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/SYSRG.json b/grafana/rmf-app/src/dashboards/dds/SYSRG.json index 67845868..456180ca 100644 --- a/grafana/rmf-app/src/dashboards/dds/SYSRG.json +++ b/grafana/rmf-app/src/dashboards/dds/SYSRG.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "1ba9a8c4-b112-48ab-b8ff-d7979197efc4", "selectedQuery": "SYSPLEX.REPORT.SYSRG", "selectedResource": { - "label": "report=SYSRG&resource=,,SYSPLEX", - "value": "report=SYSRG&resource=,,SYSPLEX" + "label": "TABLE(report=SYSRG&resource=,,SYSPLEX)", + "value": "TABLE(report=SYSRG&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -256,7 +251,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.SYSRG", + "selectedResource": { + "label": "BANNER(report=SYSRG&resource=,,SYSPLEX)", + "value": "BANNER(report=SYSRG&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -285,7 +353,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/SYSSUM.json b/grafana/rmf-app/src/dashboards/dds/SYSSUM.json index 89ae2d88..8291559b 100644 --- a/grafana/rmf-app/src/dashboards/dds/SYSSUM.json +++ b/grafana/rmf-app/src/dashboards/dds/SYSSUM.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "48f2221c-2282-4937-85e0-b52a71e1d93e", "selectedQuery": "SYSPLEX.REPORT.SYSSUM", "selectedResource": { - "label": "report=SYSSUM&resource=,,SYSPLEX", - "value": "report=SYSSUM&resource=,,SYSPLEX" + "label": "TABLE(report=SYSSUM&resource=,,SYSPLEX)", + "value": "TABLE(report=SYSSUM&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -284,7 +279,153 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.SYSSUM", + "selectedResource": { + "label": "BANNER(report=SYSSUM&resource=,,SYSPLEX)", + "value": "BANNER(report=SYSSUM&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_CAPTION.SYSSUM", + "selectedResource": { + "label": "CAPTION(report=SYSSUM&resource=,,SYSPLEX)", + "value": "CAPTION(report=SYSSUM&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -313,7 +454,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/USAGE.json b/grafana/rmf-app/src/dashboards/dds/USAGE.json index a66a405d..f57a2ad7 100644 --- a/grafana/rmf-app/src/dashboards/dds/USAGE.json +++ b/grafana/rmf-app/src/dashboards/dds/USAGE.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 17, "w": 24, "x": 0, - "y": 0 + "y": 4 }, - "id": 2, + "id": 1, "targets": [ { "datasource": { @@ -95,11 +91,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "aa2f5d29-d19b-4e8f-b782-32468729ab3f", "selectedQuery": "MVS_IMAGE.REPORT.USAGE{name=$LPAR}", "selectedResource": { - "label": "report=USAGE&resource=,$LPAR,MVS_IMAGE", - "value": "report=USAGE&resource=,$LPAR,MVS_IMAGE" + "label": "TABLE(report=USAGE&resource=,$LPAR,MVS_IMAGE)", + "value": "TABLE(report=USAGE&resource=,$LPAR,MVS_IMAGE)" }, "selectedVisualisationType": "table" } @@ -178,7 +173,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "MVS_IMAGE.REPORT_BANNER.USAGE{name=$LPAR}", + "selectedResource": { + "label": "BANNER(report=USAGE&resource=,$LPAR,MVS_IMAGE)", + "value": "BANNER(report=USAGE&resource=,$LPAR,MVS_IMAGE)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "refresh": "1m", @@ -207,7 +275,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { @@ -245,7 +314,8 @@ "regex": "", "skipUrlSync": false, "sort": 0, - "type": "query" + "type": "query", + "allowCustomValue": false } ] }, diff --git a/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json index 98b34c1d..856ea229 100644 --- a/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json @@ -133,7 +133,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "c18a9e56-c601-40d6-bded-4191f826fea2", "selectedMetrics": [ { "description": "auto", @@ -156,7 +155,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "c18a9e56-c601-40d6-bded-4191f826fea2", "selectedMetrics": [ { "description": "auto", @@ -179,7 +177,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "C", - "rmfPanelGuid": "c18a9e56-c601-40d6-bded-4191f826fea2", "selectedMetrics": [ { "description": "auto", @@ -282,7 +279,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -305,7 +301,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -328,7 +323,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "C", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -351,7 +345,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "D", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -374,7 +367,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "E", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -397,7 +389,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "F", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", @@ -420,7 +411,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "G", - "rmfPanelGuid": "61329563-dcdb-441e-b51a-aa993038705c", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/Using & Delays.json b/grafana/rmf-app/src/dashboards/dds/Using & Delays.json index 3f02cc46..44efbcbb 100644 --- a/grafana/rmf-app/src/dashboards/dds/Using & Delays.json +++ b/grafana/rmf-app/src/dashboards/dds/Using & Delays.json @@ -179,7 +179,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "2f3fa0f4-d9b1-4278-b732-2610b0094a45", "selectedMetrics": [ { "description": "auto", @@ -202,7 +201,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "2f3fa0f4-d9b1-4278-b732-2610b0094a45", "selectedMetrics": [ { "description": "auto", @@ -225,7 +223,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "C", - "rmfPanelGuid": "2f3fa0f4-d9b1-4278-b732-2610b0094a45", "selectedMetrics": [ { "description": "auto", @@ -435,7 +432,6 @@ }, "loadDataSource": "METRICS", "refId": "A", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -458,7 +454,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "B", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -481,7 +476,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "C", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -504,7 +498,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "D", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -527,7 +520,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "E", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -550,7 +542,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "F", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", @@ -573,7 +564,6 @@ "hide": false, "loadDataSource": "METRICS", "refId": "G", - "rmfPanelGuid": "e52b7576-c93f-4254-83c0-3b09b7482f2d", "selectedMetrics": [ { "description": "auto", diff --git a/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json index 18cbd4fe..786638c9 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json +++ b/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json @@ -133,7 +133,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "3bdf9ae8-f62b-40ec-b854-6ed5b66656a0", "selectedQuery": "SYSPLEX.signals sent by XCF group", "selectedResource": { "label": "id=8D3E40&resource=,,SYSPLEX", @@ -148,7 +147,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "3bdf9ae8-f62b-40ec-b854-6ed5b66656a0", "selectedQuery": "SYSPLEX.signals received by XCF group", "selectedResource": { "label": "id=8D3E00&resource=,,SYSPLEX", @@ -244,7 +242,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "e074ed81-e389-4db3-bee6-ce27191643a2", "selectedQuery": "SYSPLEX.signals sent by XCF group and member", "selectedResource": { "label": "id=8D3E50&resource=,,SYSPLEX", @@ -259,7 +256,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "e074ed81-e389-4db3-bee6-ce27191643a2", "selectedQuery": "SYSPLEX.signals received by XCF group and member", "selectedResource": { "label": "id=8D3E10&resource=,,SYSPLEX", @@ -355,7 +351,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "ab9c1f60-2901-4a38-9500-b775cd4df2b5", "selectedQuery": "SYSPLEX.signals sent by XCF systems and transport class", "selectedResource": { "label": "id=8D3E70&resource=,,SYSPLEX", @@ -451,7 +446,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "03d3c3a6-1ba1-4c49-969b-2b904b785419", "selectedQuery": "SYSPLEX.signals received by XCF systems", "selectedResource": { "label": "id=8D3E20&resource=,,SYSPLEX", diff --git a/grafana/rmf-app/src/dashboards/dds/XCF Activity.json b/grafana/rmf-app/src/dashboards/dds/XCF Activity.json index 1890a629..0a0c894f 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCF Activity.json +++ b/grafana/rmf-app/src/dashboards/dds/XCF Activity.json @@ -163,7 +163,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "834a08f0-4082-498b-86fe-976e27223b27", "selectedQuery": "SYSPLEX.signals sent by XCF group", "selectedResource": { "label": "id=8D3E40&resource=,,SYSPLEX", @@ -178,7 +177,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "834a08f0-4082-498b-86fe-976e27223b27", "selectedQuery": "SYSPLEX.signals received by XCF group", "selectedResource": { "label": "id=8D3E00&resource=,,SYSPLEX", @@ -313,7 +311,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "e75b194d-7adf-4104-beac-ca1a998154f8", "selectedQuery": "SYSPLEX.signals sent by XCF group and member", "selectedResource": { "label": "id=8D3E50&resource=,,SYSPLEX", @@ -328,7 +325,6 @@ }, "hide": false, "refId": "B", - "rmfPanelGuid": "e75b194d-7adf-4104-beac-ca1a998154f8", "selectedQuery": "SYSPLEX.signals received by XCF group and member", "selectedResource": { "label": "id=8D3E10&resource=,,SYSPLEX", @@ -448,7 +444,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "fc948aa9-f052-4eab-ada8-e61c33ccc362", "selectedQuery": "SYSPLEX.signals sent by XCF systems and transport class", "selectedResource": { "label": "id=8D3E70&resource=,,SYSPLEX", @@ -559,7 +554,6 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "31e6a5ca-3144-4422-9d08-25e3b319a833", "selectedQuery": "SYSPLEX.signals received by XCF systems", "selectedResource": { "label": "id=8D3E20&resource=,,SYSPLEX", diff --git a/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json b/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json index ca506011..4fb220ec 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json +++ b/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "5e57a653-10c8-461d-8991-ada953c73ba8", "selectedQuery": "SYSPLEX.REPORT.XCFGROUP", "selectedResource": { - "label": "report=XCFGROUP&resource=,,SYSPLEX", - "value": "report=XCFGROUP&resource=,,SYSPLEX" + "label": "TABLE(report=XCFGROUP&resource=,,SYSPLEX)", + "value": "TABLE(report=XCFGROUP&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -288,7 +283,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.XCFGROUP", + "selectedResource": { + "label": "BANNER(report=XCFGROUP&resource=,,SYSPLEX)", + "value": "BANNER(report=XCFGROUP&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -317,7 +385,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/XCFOVW.json b/grafana/rmf-app/src/dashboards/dds/XCFOVW.json index 712f5e6a..ed73f6af 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCFOVW.json +++ b/grafana/rmf-app/src/dashboards/dds/XCFOVW.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "aa73ed04-967c-469d-a5f8-9eb0d1c8b092", "selectedQuery": "SYSPLEX.REPORT.XCFOVW", "selectedResource": { - "label": "report=XCFOVW&resource=,,SYSPLEX", - "value": "report=XCFOVW&resource=,,SYSPLEX" + "label": "TABLE(report=XCFOVW&resource=,,SYSPLEX)", + "value": "TABLE(report=XCFOVW&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -288,7 +283,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.XCFOVW", + "selectedResource": { + "label": "BANNER(report=XCFOVW&resource=,,SYSPLEX)", + "value": "BANNER(report=XCFOVW&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -317,7 +385,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/XCFPATH.json b/grafana/rmf-app/src/dashboards/dds/XCFPATH.json index f48b3f1e..9621dbdc 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCFPATH.json +++ b/grafana/rmf-app/src/dashboards/dds/XCFPATH.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -109,12 +105,12 @@ ] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -124,11 +120,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "3282dc77-1ad7-4380-9a9a-0f846ea8af6a", "selectedQuery": "SYSPLEX.REPORT.XCFPATH", "selectedResource": { - "label": "report=XCFPATH&resource=,,SYSPLEX", - "value": "report=XCFPATH&resource=,,SYSPLEX" + "label": "TABLE(report=XCFPATH&resource=,,SYSPLEX)", + "value": "TABLE(report=XCFPATH&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -294,7 +289,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.XCFPATH", + "selectedResource": { + "label": "BANNER(report=XCFPATH&resource=,,SYSPLEX)", + "value": "BANNER(report=XCFPATH&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -323,7 +391,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/XCFSYS.json b/grafana/rmf-app/src/dashboards/dds/XCFSYS.json index e7c1d8e5..e9dc2041 100644 --- a/grafana/rmf-app/src/dashboards/dds/XCFSYS.json +++ b/grafana/rmf-app/src/dashboards/dds/XCFSYS.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -113,12 +109,12 @@ ] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -128,11 +124,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "056aa738-d1cf-46a4-aee4-2f7176b48b13", "selectedQuery": "SYSPLEX.REPORT.XCFSYS", "selectedResource": { - "label": "report=XCFSYS&resource=,,SYSPLEX", - "value": "report=XCFSYS&resource=,,SYSPLEX" + "label": "TABLE(report=XCFSYS&resource=,,SYSPLEX)", + "value": "TABLE(report=XCFSYS&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -283,7 +278,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.XCFSYS", + "selectedResource": { + "label": "BANNER(report=XCFSYS&resource=,,SYSPLEX)", + "value": "BANNER(report=XCFSYS&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -312,7 +380,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSFS.json b/grafana/rmf-app/src/dashboards/dds/ZFSFS.json index 36cb0b46..39d98414 100644 --- a/grafana/rmf-app/src/dashboards/dds/ZFSFS.json +++ b/grafana/rmf-app/src/dashboards/dds/ZFSFS.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, "id": 2, "interval": "1m", @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "d4867b70-6f07-4a87-8390-5d947a775d05", "selectedQuery": "SYSPLEX.REPORT.ZFSFS", "selectedResource": { - "label": "report=ZFSFS&resource=,,SYSPLEX", - "value": "report=ZFSFS&resource=,,SYSPLEX" + "label": "TABLE(report=ZFSFS&resource=,,SYSPLEX)", + "value": "TABLE(report=ZFSFS&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -304,7 +299,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.ZFSFS", + "selectedResource": { + "label": "BANNER(report=ZFSFS&resource=,,SYSPLEX)", + "value": "BANNER(report=ZFSFS&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -333,7 +401,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSKN.json b/grafana/rmf-app/src/dashboards/dds/ZFSKN.json index 3e5362eb..c73c8063 100644 --- a/grafana/rmf-app/src/dashboards/dds/ZFSKN.json +++ b/grafana/rmf-app/src/dashboards/dds/ZFSKN.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,12 +78,12 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, - "id": 2, + "id": 1, "interval": "1m", "maxDataPoints": 1, "targets": [ @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "31e86a06-d0fb-46e5-970a-d86e4c098749", "selectedQuery": "SYSPLEX.REPORT.ZFSKN", "selectedResource": { - "label": "report=ZFSKN&resource=,,SYSPLEX", - "value": "report=ZFSKN&resource=,,SYSPLEX" + "label": "TABLE(report=ZFSKN&resource=,,SYSPLEX)", + "value": "TABLE(report=ZFSKN&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -284,7 +279,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.ZFSKN", + "selectedResource": { + "label": "BANNER(report=ZFSKN&resource=,,SYSPLEX)", + "value": "BANNER(report=ZFSKN&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -313,7 +381,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json b/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json index 8009ae8c..921f4cce 100644 --- a/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json +++ b/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json @@ -13,12 +13,6 @@ "id": "ibm-rmf-datasource", "name": "IBM RMF for z/OS", "version": "%VERSION%" - }, - { - "type": "panel", - "id": "ibm-rmf-panel", - "name": "Report for IBM RMF for z/OS", - "version": "%VERSION%" } ], "annotations": { @@ -60,9 +54,11 @@ "mode": "thresholds" }, "custom": { - "displayMode": "Auto", - "enablePagination": false, - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -82,10 +78,10 @@ "overrides": [] }, "gridPos": { - "h": 22, + "h": 16, "w": 24, "x": 0, - "y": 0 + "y": 5 }, "id": 2, "interval": "1m", @@ -97,11 +93,10 @@ "uid": "${datasource}" }, "refId": "A", - "rmfPanelGuid": "56006a7e-0517-4de8-80c8-29db0310d5a6", "selectedQuery": "SYSPLEX.REPORT.ZFSOVW", "selectedResource": { - "label": "report=ZFSOVW&resource=,,SYSPLEX", - "value": "report=ZFSOVW&resource=,,SYSPLEX" + "label": "TABLE(report=ZFSOVW&resource=,,SYSPLEX)", + "value": "TABLE(report=ZFSOVW&resource=,,SYSPLEX)" }, "selectedVisualisationType": "table" } @@ -334,7 +329,80 @@ } } ], - "type": "ibm-rmf-panel" + "type": "table" + }, + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": false + }, + "pluginVersion": "10.3.4", + "targets": [ + { + "datasource": { + "type": "ibm-rmf-datasource", + "uid": "${datasource}" + }, + "refId": "A", + "selectedQuery": "SYSPLEX.REPORT_BANNER.ZFSOVW", + "selectedResource": { + "label": "BANNER(report=ZFSOVW&resource=,,SYSPLEX)", + "value": "BANNER(report=ZFSOVW&resource=,,SYSPLEX)" + }, + "selectedVisualisationType": "bargauge" + } + ], + "transformations": [], + "type": "table" } ], "schemaVersion": 37, @@ -363,7 +431,8 @@ "refresh": 1, "regex": "", "skipUrlSync": false, - "type": "datasource" + "type": "datasource", + "allowCustomValue": false }, { "datasource": { diff --git a/grafana/rmf-app/src/datasource/common/common.helper.ts b/grafana/rmf-app/src/datasource/common/common.helper.ts index d6349d97..68f82302 100644 --- a/grafana/rmf-app/src/datasource/common/common.helper.ts +++ b/grafana/rmf-app/src/datasource/common/common.helper.ts @@ -79,20 +79,6 @@ export const getSelectedResource = (Props: any): string => { return result; }; -export const getSelectedGuid = (Props: any): string => { - let result = ''; - if ( - Props !== undefined && - Props.queries !== undefined && - Props.queries.length > 0 && - Props.queries[0].rmfPanelGuid !== undefined && - Props.queries[0].rmfPanelGuid.toString().trim() !== '' - ) { - result = Props.queries[0].rmfPanelGuid; - } - return result; -}; - export const isItFirstDotPosition = (str: string, selectionEnd: number): boolean => { if (str.toString().indexOf('.') === selectionEnd) { return true; diff --git a/grafana/rmf-app/src/datasource/common/types.ts b/grafana/rmf-app/src/datasource/common/types.ts index 703c6371..3e4c0927 100644 --- a/grafana/rmf-app/src/datasource/common/types.ts +++ b/grafana/rmf-app/src/datasource/common/types.ts @@ -53,7 +53,6 @@ export interface RMFQuery extends DataQuery { enableTimeSeries?: boolean; serviceCallInprogres?: boolean; errorMessage?: string; - rmfPanelGuid?: string; refreshRequired?: boolean; absoluteTimeSelected?: boolean; dashboardUid?: string; diff --git a/grafana/rmf-app/src/datasource/parser/core/parser.ts b/grafana/rmf-app/src/datasource/parser/core/parser.ts index c062dcc3..003e1796 100644 --- a/grafana/rmf-app/src/datasource/parser/core/parser.ts +++ b/grafana/rmf-app/src/datasource/parser/core/parser.ts @@ -50,7 +50,9 @@ export class Parser { const tree = parser.query(); const resType = (tree.RES_TYPE()?.getText() || '').trim().toUpperCase(); - const isReport = tree.REPORT() !== null; + const isReportCaption = tree.REPORT_CAPTION() !== null; + const isReportBanner = tree.REPORT_BANNER() !== null; + const isReport = tree.REPORT() !== null || isReportCaption || isReportBanner; const identifier = (tree.identifier()?.getText() || '').trim(); let qualifierValues = { name: '', ulq: '', workscope: '' }; @@ -83,6 +85,13 @@ export class Parser { if (workscope) { query += `&workscope=${workscope}`; } + if (isReportCaption) { + query = "CAPTION(" + query + ")"; + } else if (isReportBanner) { + query = "BANNER(" + query + ")"; + } else if (isReport) { + query = "TABLE(" + query + ")"; + } parserGrammarResult.query = query; lexerGrammarResult = lexerCustomErrorListener.getResult(); diff --git a/grafana/rmf-app/src/datasource/parser/lib/RMFQueryLexer.ts b/grafana/rmf-app/src/datasource/parser/lib/RMFQueryLexer.ts index a5bace75..578a7606 100644 --- a/grafana/rmf-app/src/datasource/parser/lib/RMFQueryLexer.ts +++ b/grafana/rmf-app/src/datasource/parser/lib/RMFQueryLexer.ts @@ -13,32 +13,34 @@ import { } from "antlr4"; export default class RMFQueryLexer extends Lexer { public static readonly REPORT = 1; - public static readonly WORKSCOPE = 2; - public static readonly RANGE = 3; - public static readonly ULQ = 4; - public static readonly NAME = 5; - public static readonly FILTER = 6; - public static readonly PAT = 7; - public static readonly LB = 8; - public static readonly UB = 9; - public static readonly HI = 10; - public static readonly LO = 11; - public static readonly ORD = 12; - public static readonly ORD_OPTION = 13; - public static readonly RES_TYPE = 14; - public static readonly WORKSCOPE_TYPE = 15; - public static readonly INTEGER = 16; - public static readonly DECIMAL = 17; - public static readonly IDENTIFIER = 18; - public static readonly STRING_UNQUOTED = 19; - public static readonly STRING_QUOTED = 20; - public static readonly DOT = 21; - public static readonly SEMI = 22; - public static readonly COMMA = 23; - public static readonly LBRACE = 24; - public static readonly RBRACE = 25; - public static readonly EQUAL = 26; - public static readonly WS = 27; + public static readonly REPORT_CAPTION = 2; + public static readonly REPORT_BANNER = 3; + public static readonly WORKSCOPE = 4; + public static readonly RANGE = 5; + public static readonly ULQ = 6; + public static readonly NAME = 7; + public static readonly FILTER = 8; + public static readonly PAT = 9; + public static readonly LB = 10; + public static readonly UB = 11; + public static readonly HI = 12; + public static readonly LO = 13; + public static readonly ORD = 14; + public static readonly ORD_OPTION = 15; + public static readonly RES_TYPE = 16; + public static readonly WORKSCOPE_TYPE = 17; + public static readonly INTEGER = 18; + public static readonly DECIMAL = 19; + public static readonly IDENTIFIER = 20; + public static readonly STRING_UNQUOTED = 21; + public static readonly STRING_QUOTED = 22; + public static readonly DOT = 23; + public static readonly SEMI = 24; + public static readonly COMMA = 25; + public static readonly LBRACE = 26; + public static readonly RBRACE = 27; + public static readonly EQUAL = 28; + public static readonly WS = 29; public static readonly EOF = Token.EOF; public static readonly channelNames: string[] = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; @@ -52,11 +54,14 @@ export default class RMFQueryLexer extends Lexer { null, null, null, null, null, null, + null, null, null, "'.'", "';'", "','", "'{'", "'}'", "'='" ]; public static readonly symbolicNames: (string | null)[] = [ null, "REPORT", + "REPORT_CAPTION", + "REPORT_BANNER", "WORKSCOPE", "RANGE", "ULQ", "NAME", "FILTER", @@ -78,11 +83,12 @@ export default class RMFQueryLexer extends Lexer { public static readonly modeNames: string[] = [ "DEFAULT_MODE", ]; public static readonly ruleNames: string[] = [ - "REPORT", "WORKSCOPE", "RANGE", "ULQ", "NAME", "FILTER", "PAT", "LB", - "UB", "HI", "LO", "ORD", "ORD_OPTION", "RES_TYPE", "WORKSCOPE_TYPE", "INTEGER", - "DECIMAL", "IDENTIFIER", "STRING_UNQUOTED", "STRING_QUOTED", "DOT", "SEMI", - "COMMA", "LBRACE", "RBRACE", "EQUAL", "WS", "SINGLE_QUOTE", "DOUBLE_QOUTE", - "STRING_ITEM_NO_QUOTE", "STRING_ITEM_SINGLE_QUOTE", "STRING_ITEM_DOUBLE_QUOTE", + "REPORT", "REPORT_CAPTION", "REPORT_BANNER", "WORKSCOPE", "RANGE", "ULQ", + "NAME", "FILTER", "PAT", "LB", "UB", "HI", "LO", "ORD", "ORD_OPTION", + "RES_TYPE", "WORKSCOPE_TYPE", "INTEGER", "DECIMAL", "IDENTIFIER", "STRING_UNQUOTED", + "STRING_QUOTED", "DOT", "SEMI", "COMMA", "LBRACE", "RBRACE", "EQUAL", + "WS", "SINGLE_QUOTE", "DOUBLE_QOUTE", "UNDERSCORE", "STRING_ITEM_NO_QUOTE", + "STRING_ITEM_SINGLE_QUOTE", "STRING_ITEM_DOUBLE_QUOTE", "STRING_ITEM_UNDERSCORE", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ]; @@ -105,7 +111,7 @@ export default class RMFQueryLexer extends Lexer { public get modeNames(): string[] { return RMFQueryLexer.modeNames; } - public static readonly _serializedATN: number[] = [4,0,27,850,6,-1,2,0, + public static readonly _serializedATN: number[] = [4,0,29,891,6,-1,2,0, 7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9, 7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7, 16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23, @@ -113,282 +119,296 @@ export default class RMFQueryLexer extends Lexer { 31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38, 7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7, 45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52, - 2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,1,0,1,0,1,0,1,0,1,0,1, - 0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1, - 3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1, - 6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11, - 1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1, - 12,1,12,3,12,192,8,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, - 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,723,8,13, - 1,14,1,14,1,14,1,14,1,14,1,14,3,14,731,8,14,1,15,4,15,734,8,15,11,15,12, - 15,735,1,16,1,16,1,16,1,16,1,17,4,17,743,8,17,11,17,12,17,744,1,18,4,18, - 748,8,18,11,18,12,18,749,1,19,1,19,5,19,754,8,19,10,19,12,19,757,9,19,1, - 19,1,19,1,19,1,19,5,19,763,8,19,10,19,12,19,766,9,19,1,19,1,19,3,19,770, - 8,19,1,20,1,20,1,21,1,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,4, - 26,785,8,26,11,26,12,26,786,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31, - 1,31,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1, - 38,1,39,1,39,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45, - 1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1, - 53,1,53,1,54,1,54,1,55,1,55,1,56,1,56,1,57,1,57,0,0,58,1,1,3,2,5,3,7,4, - 9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17, - 35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,0,57,0,59, - 0,61,0,63,0,65,0,67,0,69,0,71,0,73,0,75,0,77,0,79,0,81,0,83,0,85,0,87,0, - 89,0,91,0,93,0,95,0,97,0,99,0,101,0,103,0,105,0,107,0,109,0,111,0,113,0, - 115,0,1,0,32,1,0,48,57,2,0,65,90,97,122,3,0,9,10,13,13,32,32,7,0,32,32, - 44,44,46,46,59,59,61,61,123,123,125,125,1,0,39,39,1,0,34,34,2,0,65,65,97, + 2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2, + 60,7,60,2,61,7,61,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1, + 2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1, + 4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1, + 7,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1, + 12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14, + 1,14,1,14,1,14,1,14,1,14,3,14,229,8,14,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1, + 15,3,15,760,8,15,1,16,1,16,1,16,1,16,1,16,1,16,3,16,768,8,16,1,17,4,17, + 771,8,17,11,17,12,17,772,1,18,1,18,1,18,1,18,1,19,4,19,780,8,19,11,19,12, + 19,781,1,20,4,20,785,8,20,11,20,12,20,786,1,21,1,21,5,21,791,8,21,10,21, + 12,21,794,9,21,1,21,1,21,1,21,1,21,5,21,800,8,21,10,21,12,21,803,9,21,1, + 21,1,21,3,21,807,8,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26, + 1,27,1,27,1,28,4,28,822,8,28,11,28,12,28,823,1,29,1,29,1,30,1,30,1,31,1, + 31,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38, + 1,39,1,39,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1, + 46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53, + 1,53,1,54,1,54,1,55,1,55,1,56,1,56,1,57,1,57,1,58,1,58,1,59,1,59,1,60,1, + 60,1,61,1,61,0,0,62,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11, + 23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23, + 47,24,49,25,51,26,53,27,55,28,57,29,59,0,61,0,63,0,65,0,67,0,69,0,71,0, + 73,0,75,0,77,0,79,0,81,0,83,0,85,0,87,0,89,0,91,0,93,0,95,0,97,0,99,0,101, + 0,103,0,105,0,107,0,109,0,111,0,113,0,115,0,117,0,119,0,121,0,123,0,1,0, + 33,1,0,48,57,2,0,65,90,97,122,3,0,9,10,13,13,32,32,7,0,32,32,44,44,46,46, + 59,59,61,61,123,123,125,125,1,0,39,39,1,0,34,34,1,0,95,95,2,0,65,65,97, 97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,69,69,101,101, 2,0,70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105, 2,0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109, 2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113, 2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117, 2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121, - 2,0,90,90,122,122,881,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0, + 2,0,90,90,122,122,920,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0, 9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0, 0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0, 31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0, 0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0, - 53,1,0,0,0,1,117,1,0,0,0,3,124,1,0,0,0,5,134,1,0,0,0,7,140,1,0,0,0,9,144, - 1,0,0,0,11,149,1,0,0,0,13,156,1,0,0,0,15,160,1,0,0,0,17,163,1,0,0,0,19, - 166,1,0,0,0,21,169,1,0,0,0,23,172,1,0,0,0,25,191,1,0,0,0,27,722,1,0,0,0, - 29,730,1,0,0,0,31,733,1,0,0,0,33,737,1,0,0,0,35,742,1,0,0,0,37,747,1,0, - 0,0,39,769,1,0,0,0,41,771,1,0,0,0,43,773,1,0,0,0,45,775,1,0,0,0,47,777, - 1,0,0,0,49,779,1,0,0,0,51,781,1,0,0,0,53,784,1,0,0,0,55,788,1,0,0,0,57, - 790,1,0,0,0,59,792,1,0,0,0,61,794,1,0,0,0,63,796,1,0,0,0,65,798,1,0,0,0, - 67,800,1,0,0,0,69,802,1,0,0,0,71,804,1,0,0,0,73,806,1,0,0,0,75,808,1,0, - 0,0,77,810,1,0,0,0,79,812,1,0,0,0,81,814,1,0,0,0,83,816,1,0,0,0,85,818, - 1,0,0,0,87,820,1,0,0,0,89,822,1,0,0,0,91,824,1,0,0,0,93,826,1,0,0,0,95, - 828,1,0,0,0,97,830,1,0,0,0,99,832,1,0,0,0,101,834,1,0,0,0,103,836,1,0,0, - 0,105,838,1,0,0,0,107,840,1,0,0,0,109,842,1,0,0,0,111,844,1,0,0,0,113,846, - 1,0,0,0,115,848,1,0,0,0,117,118,3,99,49,0,118,119,3,73,36,0,119,120,3,95, - 47,0,120,121,3,93,46,0,121,122,3,99,49,0,122,123,3,103,51,0,123,2,1,0,0, - 0,124,125,3,109,54,0,125,126,3,93,46,0,126,127,3,99,49,0,127,128,3,85,42, - 0,128,129,3,101,50,0,129,130,3,69,34,0,130,131,3,93,46,0,131,132,3,95,47, - 0,132,133,3,73,36,0,133,4,1,0,0,0,134,135,3,99,49,0,135,136,3,65,32,0,136, - 137,3,91,45,0,137,138,3,77,38,0,138,139,3,73,36,0,139,6,1,0,0,0,140,141, - 3,105,52,0,141,142,3,87,43,0,142,143,3,97,48,0,143,8,1,0,0,0,144,145,3, - 91,45,0,145,146,3,65,32,0,146,147,3,89,44,0,147,148,3,73,36,0,148,10,1, - 0,0,0,149,150,3,75,37,0,150,151,3,81,40,0,151,152,3,87,43,0,152,153,3,103, - 51,0,153,154,3,73,36,0,154,155,3,99,49,0,155,12,1,0,0,0,156,157,3,95,47, - 0,157,158,3,65,32,0,158,159,3,103,51,0,159,14,1,0,0,0,160,161,3,87,43,0, - 161,162,3,67,33,0,162,16,1,0,0,0,163,164,3,105,52,0,164,165,3,67,33,0,165, - 18,1,0,0,0,166,167,3,79,39,0,167,168,3,81,40,0,168,20,1,0,0,0,169,170,3, - 87,43,0,170,171,3,93,46,0,171,22,1,0,0,0,172,173,3,93,46,0,173,174,3,99, - 49,0,174,175,3,71,35,0,175,24,1,0,0,0,176,177,3,91,45,0,177,178,3,65,32, - 0,178,192,1,0,0,0,179,180,3,91,45,0,180,181,3,71,35,0,181,192,1,0,0,0,182, - 183,3,107,53,0,183,184,3,65,32,0,184,192,1,0,0,0,185,186,3,107,53,0,186, - 187,3,71,35,0,187,192,1,0,0,0,188,189,3,91,45,0,189,190,3,91,45,0,190,192, - 1,0,0,0,191,176,1,0,0,0,191,179,1,0,0,0,191,182,1,0,0,0,191,185,1,0,0,0, - 191,188,1,0,0,0,192,26,1,0,0,0,193,194,3,101,50,0,194,195,3,113,56,0,195, - 196,3,101,50,0,196,197,3,95,47,0,197,198,3,87,43,0,198,199,3,73,36,0,199, - 200,3,111,55,0,200,723,1,0,0,0,201,202,3,89,44,0,202,203,3,107,53,0,203, - 204,3,101,50,0,204,205,5,95,0,0,205,206,3,81,40,0,206,207,3,89,44,0,207, - 208,3,65,32,0,208,209,3,77,38,0,209,210,3,73,36,0,210,723,1,0,0,0,211,212, - 3,81,40,0,212,213,5,47,0,0,213,214,3,93,46,0,214,215,5,95,0,0,215,216,3, - 101,50,0,216,217,3,105,52,0,217,218,3,67,33,0,218,219,3,101,50,0,219,220, - 3,113,56,0,220,221,3,101,50,0,221,222,3,103,51,0,222,223,3,73,36,0,223, - 224,3,89,44,0,224,723,1,0,0,0,225,226,3,65,32,0,226,227,3,87,43,0,227,228, - 3,87,43,0,228,229,5,95,0,0,229,230,3,101,50,0,230,231,3,101,50,0,231,232, - 3,81,40,0,232,233,3,71,35,0,233,234,3,101,50,0,234,723,1,0,0,0,235,236, - 3,65,32,0,236,237,3,87,43,0,237,238,3,87,43,0,238,239,5,95,0,0,239,240, - 3,87,43,0,240,241,3,69,34,0,241,242,3,105,52,0,242,243,3,101,50,0,243,723, - 1,0,0,0,244,245,3,65,32,0,245,246,3,87,43,0,246,247,3,87,43,0,247,248,5, - 95,0,0,248,249,3,69,34,0,249,250,3,79,39,0,250,251,3,65,32,0,251,252,3, - 91,45,0,252,253,3,91,45,0,253,254,3,73,36,0,254,255,3,87,43,0,255,256,3, - 101,50,0,256,723,1,0,0,0,257,258,3,65,32,0,258,259,3,87,43,0,259,260,3, - 87,43,0,260,261,5,95,0,0,261,262,3,107,53,0,262,263,3,93,46,0,263,264,3, - 87,43,0,264,265,3,105,52,0,265,266,3,89,44,0,266,267,3,73,36,0,267,268, - 3,101,50,0,268,723,1,0,0,0,269,270,3,69,34,0,270,271,3,99,49,0,271,272, - 3,113,56,0,272,273,3,95,47,0,273,274,3,103,51,0,274,275,3,93,46,0,275,723, - 1,0,0,0,276,277,3,95,47,0,277,278,3,69,34,0,278,279,3,81,40,0,279,280,3, - 73,36,0,280,723,1,0,0,0,281,282,3,101,50,0,282,283,3,69,34,0,283,284,3, - 89,44,0,284,723,1,0,0,0,285,286,3,115,57,0,286,287,3,75,37,0,287,288,3, - 101,50,0,288,723,1,0,0,0,289,290,3,65,32,0,290,291,3,77,38,0,291,292,3, - 77,38,0,292,293,3,99,49,0,293,294,3,73,36,0,294,295,3,77,38,0,295,296,3, - 65,32,0,296,297,3,103,51,0,297,298,3,73,36,0,298,723,1,0,0,0,299,300,3, - 95,47,0,300,301,3,99,49,0,301,302,3,93,46,0,302,303,3,69,34,0,303,304,3, - 73,36,0,304,305,3,101,50,0,305,306,3,101,50,0,306,307,3,93,46,0,307,308, - 3,99,49,0,308,723,1,0,0,0,309,310,3,101,50,0,310,311,3,103,51,0,311,312, - 3,93,46,0,312,313,3,99,49,0,313,314,3,65,32,0,314,315,3,77,38,0,315,316, - 3,73,36,0,316,723,1,0,0,0,317,318,3,65,32,0,318,319,3,105,52,0,319,320, - 3,111,55,0,320,321,3,81,40,0,321,322,3,87,43,0,322,323,3,81,40,0,323,324, - 3,65,32,0,324,325,3,99,49,0,325,326,3,113,56,0,326,327,5,95,0,0,327,328, - 3,101,50,0,328,329,3,103,51,0,329,330,3,93,46,0,330,331,3,99,49,0,331,332, - 3,65,32,0,332,333,3,77,38,0,333,334,3,73,36,0,334,723,1,0,0,0,335,336,3, - 69,34,0,336,337,3,73,36,0,337,338,3,91,45,0,338,339,3,103,51,0,339,340, - 3,99,49,0,340,341,3,65,32,0,341,342,3,87,43,0,342,343,5,95,0,0,343,344, - 3,101,50,0,344,345,3,103,51,0,345,346,3,93,46,0,346,347,3,99,49,0,347,348, - 3,65,32,0,348,349,3,77,38,0,349,350,3,73,36,0,350,723,1,0,0,0,351,352,3, - 69,34,0,352,353,3,101,50,0,353,354,3,65,32,0,354,723,1,0,0,0,355,356,3, - 101,50,0,356,357,3,97,48,0,357,358,3,65,32,0,358,723,1,0,0,0,359,360,3, - 73,36,0,360,361,3,69,34,0,361,362,3,101,50,0,362,363,3,65,32,0,363,723, - 1,0,0,0,364,365,3,73,36,0,365,366,3,91,45,0,366,367,3,97,48,0,367,368,3, - 105,52,0,368,369,3,73,36,0,369,370,3,105,52,0,370,371,3,73,36,0,371,723, - 1,0,0,0,372,373,3,93,46,0,373,374,3,95,47,0,374,375,3,73,36,0,375,376,3, - 99,49,0,376,377,3,65,32,0,377,378,3,103,51,0,378,379,3,93,46,0,379,380, - 3,99,49,0,380,723,1,0,0,0,381,382,3,101,50,0,382,383,3,109,54,0,383,384, - 5,95,0,0,384,385,3,101,50,0,385,386,3,105,52,0,386,387,3,67,33,0,387,388, - 3,101,50,0,388,389,3,113,56,0,389,390,3,101,50,0,390,391,3,103,51,0,391, - 392,3,73,36,0,392,393,3,89,44,0,393,394,3,101,50,0,394,723,1,0,0,0,395, - 396,3,83,41,0,396,397,3,73,36,0,397,398,3,101,50,0,398,723,1,0,0,0,399, - 400,3,111,55,0,400,401,3,69,34,0,401,402,3,75,37,0,402,723,1,0,0,0,403, - 404,3,79,39,0,404,405,3,101,50,0,405,406,3,89,44,0,406,723,1,0,0,0,407, - 408,3,69,34,0,408,409,3,95,47,0,409,410,3,69,34,0,410,723,1,0,0,0,411,412, - 3,87,43,0,412,413,3,95,47,0,413,414,3,65,32,0,414,415,3,99,49,0,415,723, - 1,0,0,0,416,417,3,69,34,0,417,418,3,93,46,0,418,419,3,105,52,0,419,420, - 3,95,47,0,420,421,3,87,43,0,421,422,3,81,40,0,422,423,3,91,45,0,423,424, - 3,77,38,0,424,425,5,95,0,0,425,426,3,75,37,0,426,427,3,65,32,0,427,428, - 3,69,34,0,428,429,3,81,40,0,429,430,3,87,43,0,430,431,3,81,40,0,431,432, - 3,103,51,0,432,433,3,113,56,0,433,723,1,0,0,0,434,435,3,69,34,0,435,436, - 3,75,37,0,436,437,5,95,0,0,437,438,3,101,50,0,438,439,3,103,51,0,439,440, - 3,99,49,0,440,441,3,105,52,0,441,442,3,69,34,0,442,443,3,103,51,0,443,444, - 3,105,52,0,444,445,3,99,49,0,445,446,3,73,36,0,446,723,1,0,0,0,447,448, - 3,109,54,0,448,449,3,87,43,0,449,450,3,89,44,0,450,451,5,95,0,0,451,452, - 3,65,32,0,452,453,3,69,34,0,453,454,3,103,51,0,454,455,3,81,40,0,455,456, - 3,107,53,0,456,457,3,73,36,0,457,458,5,95,0,0,458,459,3,95,47,0,459,460, - 3,93,46,0,460,461,3,87,43,0,461,462,3,81,40,0,462,463,3,69,34,0,463,464, - 3,113,56,0,464,723,1,0,0,0,465,466,3,65,32,0,466,467,3,87,43,0,467,468, - 3,87,43,0,468,469,5,95,0,0,469,470,3,109,54,0,470,471,3,87,43,0,471,472, - 3,89,44,0,472,473,5,95,0,0,473,474,3,109,54,0,474,475,3,93,46,0,475,476, - 3,99,49,0,476,477,3,85,42,0,477,478,3,87,43,0,478,479,3,93,46,0,479,480, - 3,65,32,0,480,481,3,71,35,0,481,482,3,101,50,0,482,723,1,0,0,0,483,484, - 3,109,54,0,484,485,3,87,43,0,485,486,3,89,44,0,486,487,5,95,0,0,487,488, - 3,109,54,0,488,489,3,93,46,0,489,490,3,99,49,0,490,491,3,85,42,0,491,492, - 3,87,43,0,492,493,3,93,46,0,493,494,3,65,32,0,494,495,3,71,35,0,495,723, - 1,0,0,0,496,497,3,109,54,0,497,498,3,87,43,0,498,499,3,89,44,0,499,500, - 5,95,0,0,500,501,3,101,50,0,501,502,3,73,36,0,502,503,3,99,49,0,503,504, - 3,107,53,0,504,505,3,81,40,0,505,506,3,69,34,0,506,507,3,73,36,0,507,508, - 5,95,0,0,508,509,3,69,34,0,509,510,3,87,43,0,510,511,3,65,32,0,511,512, - 3,101,50,0,512,513,3,101,50,0,513,723,1,0,0,0,514,515,3,109,54,0,515,516, - 3,87,43,0,516,517,3,89,44,0,517,518,5,95,0,0,518,519,3,101,50,0,519,520, - 3,69,34,0,520,521,5,95,0,0,521,522,3,95,47,0,522,523,3,73,36,0,523,524, - 3,99,49,0,524,525,3,81,40,0,525,526,3,93,46,0,526,527,3,71,35,0,527,723, - 1,0,0,0,528,529,3,65,32,0,529,530,3,87,43,0,530,531,3,87,43,0,531,532,5, - 95,0,0,532,533,3,109,54,0,533,534,3,87,43,0,534,535,3,89,44,0,535,536,5, - 95,0,0,536,537,3,99,49,0,537,538,3,73,36,0,538,539,3,95,47,0,539,540,3, - 93,46,0,540,541,3,99,49,0,541,542,3,103,51,0,542,543,5,95,0,0,543,544,3, - 69,34,0,544,545,3,87,43,0,545,546,3,65,32,0,546,547,3,101,50,0,547,548, - 3,101,50,0,548,549,3,73,36,0,549,550,3,101,50,0,550,723,1,0,0,0,551,552, - 3,109,54,0,552,553,3,87,43,0,553,554,3,89,44,0,554,555,5,95,0,0,555,556, - 3,99,49,0,556,557,3,73,36,0,557,558,3,95,47,0,558,559,3,93,46,0,559,560, - 3,99,49,0,560,561,3,103,51,0,561,562,5,95,0,0,562,563,3,69,34,0,563,564, - 3,87,43,0,564,565,3,65,32,0,565,566,3,101,50,0,566,567,3,101,50,0,567,723, - 1,0,0,0,568,569,3,109,54,0,569,570,3,87,43,0,570,571,3,89,44,0,571,572, - 5,95,0,0,572,573,3,99,49,0,573,574,3,69,34,0,574,575,5,95,0,0,575,576,3, - 95,47,0,576,577,3,73,36,0,577,578,3,99,49,0,578,579,3,81,40,0,579,580,3, - 93,46,0,580,581,3,71,35,0,581,723,1,0,0,0,582,583,3,65,32,0,583,584,3,87, - 43,0,584,585,3,87,43,0,585,586,5,95,0,0,586,587,3,109,54,0,587,588,3,87, - 43,0,588,589,3,89,44,0,589,590,5,95,0,0,590,591,3,99,49,0,591,592,3,73, - 36,0,592,593,3,101,50,0,593,594,3,93,46,0,594,595,3,105,52,0,595,596,3, - 99,49,0,596,597,3,69,34,0,597,598,3,73,36,0,598,599,5,95,0,0,599,600,3, - 77,38,0,600,601,3,99,49,0,601,602,3,93,46,0,602,603,3,105,52,0,603,604, - 3,95,47,0,604,605,3,101,50,0,605,723,1,0,0,0,606,607,3,109,54,0,607,608, - 3,87,43,0,608,609,3,89,44,0,609,610,5,95,0,0,610,611,3,99,49,0,611,612, - 3,73,36,0,612,613,3,101,50,0,613,614,3,93,46,0,614,615,3,105,52,0,615,616, - 3,99,49,0,616,617,3,69,34,0,617,618,3,73,36,0,618,619,5,95,0,0,619,620, - 3,77,38,0,620,621,3,99,49,0,621,622,3,93,46,0,622,623,3,105,52,0,623,624, - 3,95,47,0,624,723,1,0,0,0,625,626,3,69,34,0,626,627,3,79,39,0,627,628,3, - 65,32,0,628,629,3,91,45,0,629,630,3,91,45,0,630,631,3,73,36,0,631,632,3, - 87,43,0,632,633,5,95,0,0,633,634,3,95,47,0,634,635,3,65,32,0,635,636,3, - 103,51,0,636,637,3,79,39,0,637,723,1,0,0,0,638,639,3,87,43,0,639,640,3, - 93,46,0,640,641,3,77,38,0,641,642,3,81,40,0,642,643,3,69,34,0,643,644,3, - 65,32,0,644,645,3,87,43,0,645,646,5,95,0,0,646,647,3,69,34,0,647,648,3, - 93,46,0,648,649,3,91,45,0,649,650,3,103,51,0,650,651,3,99,49,0,651,652, - 3,93,46,0,652,653,3,87,43,0,653,654,5,95,0,0,654,655,3,105,52,0,655,656, - 3,91,45,0,656,657,3,81,40,0,657,658,3,103,51,0,658,723,1,0,0,0,659,660, - 3,101,50,0,660,661,3,101,50,0,661,662,3,81,40,0,662,663,3,71,35,0,663,723, - 1,0,0,0,664,665,3,107,53,0,665,666,3,93,46,0,666,667,3,87,43,0,667,668, - 3,105,52,0,668,669,3,89,44,0,669,670,3,73,36,0,670,723,1,0,0,0,671,672, - 3,69,34,0,672,673,3,99,49,0,673,674,3,113,56,0,674,675,3,95,47,0,675,676, - 3,103,51,0,676,677,3,93,46,0,677,678,5,95,0,0,678,679,3,69,34,0,679,680, - 3,65,32,0,680,681,3,99,49,0,681,682,3,71,35,0,682,723,1,0,0,0,683,684,3, - 95,47,0,684,685,3,69,34,0,685,686,3,81,40,0,686,687,3,73,36,0,687,688,5, - 95,0,0,688,689,3,75,37,0,689,690,3,105,52,0,690,691,3,91,45,0,691,692,3, - 69,34,0,692,693,3,103,51,0,693,694,3,81,40,0,694,695,3,93,46,0,695,696, - 3,91,45,0,696,723,1,0,0,0,697,698,3,101,50,0,698,699,3,69,34,0,699,700, - 3,89,44,0,700,701,5,95,0,0,701,702,3,69,34,0,702,703,3,65,32,0,703,704, - 3,99,49,0,704,705,3,71,35,0,705,723,1,0,0,0,706,707,3,73,36,0,707,708,3, - 101,50,0,708,709,3,97,48,0,709,710,3,65,32,0,710,723,1,0,0,0,711,712,3, - 75,37,0,712,713,3,81,40,0,713,714,3,87,43,0,714,715,3,73,36,0,715,716,3, - 101,50,0,716,717,3,113,56,0,717,718,3,101,50,0,718,719,3,103,51,0,719,720, - 3,73,36,0,720,721,3,89,44,0,721,723,1,0,0,0,722,193,1,0,0,0,722,201,1,0, - 0,0,722,211,1,0,0,0,722,225,1,0,0,0,722,235,1,0,0,0,722,244,1,0,0,0,722, - 257,1,0,0,0,722,269,1,0,0,0,722,276,1,0,0,0,722,281,1,0,0,0,722,285,1,0, - 0,0,722,289,1,0,0,0,722,299,1,0,0,0,722,309,1,0,0,0,722,317,1,0,0,0,722, - 335,1,0,0,0,722,351,1,0,0,0,722,355,1,0,0,0,722,359,1,0,0,0,722,364,1,0, - 0,0,722,372,1,0,0,0,722,381,1,0,0,0,722,395,1,0,0,0,722,399,1,0,0,0,722, - 403,1,0,0,0,722,407,1,0,0,0,722,411,1,0,0,0,722,416,1,0,0,0,722,434,1,0, - 0,0,722,447,1,0,0,0,722,465,1,0,0,0,722,483,1,0,0,0,722,496,1,0,0,0,722, - 514,1,0,0,0,722,528,1,0,0,0,722,551,1,0,0,0,722,568,1,0,0,0,722,582,1,0, - 0,0,722,606,1,0,0,0,722,625,1,0,0,0,722,638,1,0,0,0,722,659,1,0,0,0,722, - 664,1,0,0,0,722,671,1,0,0,0,722,683,1,0,0,0,722,697,1,0,0,0,722,706,1,0, - 0,0,722,711,1,0,0,0,723,28,1,0,0,0,724,731,3,77,38,0,725,731,3,109,54,0, - 726,731,3,101,50,0,727,731,3,95,47,0,728,731,3,99,49,0,729,731,3,83,41, - 0,730,724,1,0,0,0,730,725,1,0,0,0,730,726,1,0,0,0,730,727,1,0,0,0,730,728, - 1,0,0,0,730,729,1,0,0,0,731,30,1,0,0,0,732,734,7,0,0,0,733,732,1,0,0,0, - 734,735,1,0,0,0,735,733,1,0,0,0,735,736,1,0,0,0,736,32,1,0,0,0,737,738, - 3,31,15,0,738,739,3,41,20,0,739,740,3,31,15,0,740,34,1,0,0,0,741,743,7, - 1,0,0,742,741,1,0,0,0,743,744,1,0,0,0,744,742,1,0,0,0,744,745,1,0,0,0,745, - 36,1,0,0,0,746,748,3,59,29,0,747,746,1,0,0,0,748,749,1,0,0,0,749,747,1, - 0,0,0,749,750,1,0,0,0,750,38,1,0,0,0,751,755,3,55,27,0,752,754,3,61,30, - 0,753,752,1,0,0,0,754,757,1,0,0,0,755,753,1,0,0,0,755,756,1,0,0,0,756,758, - 1,0,0,0,757,755,1,0,0,0,758,759,3,55,27,0,759,770,1,0,0,0,760,764,3,57, - 28,0,761,763,3,63,31,0,762,761,1,0,0,0,763,766,1,0,0,0,764,762,1,0,0,0, - 764,765,1,0,0,0,765,767,1,0,0,0,766,764,1,0,0,0,767,768,3,57,28,0,768,770, - 1,0,0,0,769,751,1,0,0,0,769,760,1,0,0,0,770,40,1,0,0,0,771,772,5,46,0,0, - 772,42,1,0,0,0,773,774,5,59,0,0,774,44,1,0,0,0,775,776,5,44,0,0,776,46, - 1,0,0,0,777,778,5,123,0,0,778,48,1,0,0,0,779,780,5,125,0,0,780,50,1,0,0, - 0,781,782,5,61,0,0,782,52,1,0,0,0,783,785,7,2,0,0,784,783,1,0,0,0,785,786, - 1,0,0,0,786,784,1,0,0,0,786,787,1,0,0,0,787,54,1,0,0,0,788,789,5,39,0,0, - 789,56,1,0,0,0,790,791,5,34,0,0,791,58,1,0,0,0,792,793,8,3,0,0,793,60,1, - 0,0,0,794,795,8,4,0,0,795,62,1,0,0,0,796,797,8,5,0,0,797,64,1,0,0,0,798, - 799,7,6,0,0,799,66,1,0,0,0,800,801,7,7,0,0,801,68,1,0,0,0,802,803,7,8,0, - 0,803,70,1,0,0,0,804,805,7,9,0,0,805,72,1,0,0,0,806,807,7,10,0,0,807,74, - 1,0,0,0,808,809,7,11,0,0,809,76,1,0,0,0,810,811,7,12,0,0,811,78,1,0,0,0, - 812,813,7,13,0,0,813,80,1,0,0,0,814,815,7,14,0,0,815,82,1,0,0,0,816,817, - 7,15,0,0,817,84,1,0,0,0,818,819,7,16,0,0,819,86,1,0,0,0,820,821,7,17,0, - 0,821,88,1,0,0,0,822,823,7,18,0,0,823,90,1,0,0,0,824,825,7,19,0,0,825,92, - 1,0,0,0,826,827,7,20,0,0,827,94,1,0,0,0,828,829,7,21,0,0,829,96,1,0,0,0, - 830,831,7,22,0,0,831,98,1,0,0,0,832,833,7,23,0,0,833,100,1,0,0,0,834,835, - 7,24,0,0,835,102,1,0,0,0,836,837,7,25,0,0,837,104,1,0,0,0,838,839,7,26, - 0,0,839,106,1,0,0,0,840,841,7,27,0,0,841,108,1,0,0,0,842,843,7,28,0,0,843, - 110,1,0,0,0,844,845,7,29,0,0,845,112,1,0,0,0,846,847,7,30,0,0,847,114,1, - 0,0,0,848,849,7,31,0,0,849,116,1,0,0,0,11,0,191,722,730,735,744,749,755, - 764,769,786,0]; + 53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,1,125,1,0,0,0,3,132,1,0,0,0,5,147, + 1,0,0,0,7,161,1,0,0,0,9,171,1,0,0,0,11,177,1,0,0,0,13,181,1,0,0,0,15,186, + 1,0,0,0,17,193,1,0,0,0,19,197,1,0,0,0,21,200,1,0,0,0,23,203,1,0,0,0,25, + 206,1,0,0,0,27,209,1,0,0,0,29,228,1,0,0,0,31,759,1,0,0,0,33,767,1,0,0,0, + 35,770,1,0,0,0,37,774,1,0,0,0,39,779,1,0,0,0,41,784,1,0,0,0,43,806,1,0, + 0,0,45,808,1,0,0,0,47,810,1,0,0,0,49,812,1,0,0,0,51,814,1,0,0,0,53,816, + 1,0,0,0,55,818,1,0,0,0,57,821,1,0,0,0,59,825,1,0,0,0,61,827,1,0,0,0,63, + 829,1,0,0,0,65,831,1,0,0,0,67,833,1,0,0,0,69,835,1,0,0,0,71,837,1,0,0,0, + 73,839,1,0,0,0,75,841,1,0,0,0,77,843,1,0,0,0,79,845,1,0,0,0,81,847,1,0, + 0,0,83,849,1,0,0,0,85,851,1,0,0,0,87,853,1,0,0,0,89,855,1,0,0,0,91,857, + 1,0,0,0,93,859,1,0,0,0,95,861,1,0,0,0,97,863,1,0,0,0,99,865,1,0,0,0,101, + 867,1,0,0,0,103,869,1,0,0,0,105,871,1,0,0,0,107,873,1,0,0,0,109,875,1,0, + 0,0,111,877,1,0,0,0,113,879,1,0,0,0,115,881,1,0,0,0,117,883,1,0,0,0,119, + 885,1,0,0,0,121,887,1,0,0,0,123,889,1,0,0,0,125,126,3,107,53,0,126,127, + 3,81,40,0,127,128,3,103,51,0,128,129,3,101,50,0,129,130,3,107,53,0,130, + 131,3,111,55,0,131,2,1,0,0,0,132,133,3,107,53,0,133,134,3,81,40,0,134,135, + 3,103,51,0,135,136,3,101,50,0,136,137,3,107,53,0,137,138,3,111,55,0,138, + 139,3,63,31,0,139,140,3,77,38,0,140,141,3,73,36,0,141,142,3,103,51,0,142, + 143,3,111,55,0,143,144,3,89,44,0,144,145,3,101,50,0,145,146,3,99,49,0,146, + 4,1,0,0,0,147,148,3,107,53,0,148,149,3,81,40,0,149,150,3,103,51,0,150,151, + 3,101,50,0,151,152,3,107,53,0,152,153,3,111,55,0,153,154,3,63,31,0,154, + 155,3,75,37,0,155,156,3,73,36,0,156,157,3,99,49,0,157,158,3,99,49,0,158, + 159,3,81,40,0,159,160,3,107,53,0,160,6,1,0,0,0,161,162,3,117,58,0,162,163, + 3,101,50,0,163,164,3,107,53,0,164,165,3,93,46,0,165,166,3,109,54,0,166, + 167,3,77,38,0,167,168,3,101,50,0,168,169,3,103,51,0,169,170,3,81,40,0,170, + 8,1,0,0,0,171,172,3,107,53,0,172,173,3,73,36,0,173,174,3,99,49,0,174,175, + 3,85,42,0,175,176,3,81,40,0,176,10,1,0,0,0,177,178,3,113,56,0,178,179,3, + 95,47,0,179,180,3,105,52,0,180,12,1,0,0,0,181,182,3,99,49,0,182,183,3,73, + 36,0,183,184,3,97,48,0,184,185,3,81,40,0,185,14,1,0,0,0,186,187,3,83,41, + 0,187,188,3,89,44,0,188,189,3,95,47,0,189,190,3,111,55,0,190,191,3,81,40, + 0,191,192,3,107,53,0,192,16,1,0,0,0,193,194,3,103,51,0,194,195,3,73,36, + 0,195,196,3,111,55,0,196,18,1,0,0,0,197,198,3,95,47,0,198,199,3,75,37,0, + 199,20,1,0,0,0,200,201,3,113,56,0,201,202,3,75,37,0,202,22,1,0,0,0,203, + 204,3,87,43,0,204,205,3,89,44,0,205,24,1,0,0,0,206,207,3,95,47,0,207,208, + 3,101,50,0,208,26,1,0,0,0,209,210,3,101,50,0,210,211,3,107,53,0,211,212, + 3,79,39,0,212,28,1,0,0,0,213,214,3,99,49,0,214,215,3,73,36,0,215,229,1, + 0,0,0,216,217,3,99,49,0,217,218,3,79,39,0,218,229,1,0,0,0,219,220,3,115, + 57,0,220,221,3,73,36,0,221,229,1,0,0,0,222,223,3,115,57,0,223,224,3,79, + 39,0,224,229,1,0,0,0,225,226,3,99,49,0,226,227,3,99,49,0,227,229,1,0,0, + 0,228,213,1,0,0,0,228,216,1,0,0,0,228,219,1,0,0,0,228,222,1,0,0,0,228,225, + 1,0,0,0,229,30,1,0,0,0,230,231,3,109,54,0,231,232,3,121,60,0,232,233,3, + 109,54,0,233,234,3,103,51,0,234,235,3,95,47,0,235,236,3,81,40,0,236,237, + 3,119,59,0,237,760,1,0,0,0,238,239,3,97,48,0,239,240,3,115,57,0,240,241, + 3,109,54,0,241,242,5,95,0,0,242,243,3,89,44,0,243,244,3,97,48,0,244,245, + 3,73,36,0,245,246,3,85,42,0,246,247,3,81,40,0,247,760,1,0,0,0,248,249,3, + 89,44,0,249,250,5,47,0,0,250,251,3,101,50,0,251,252,5,95,0,0,252,253,3, + 109,54,0,253,254,3,113,56,0,254,255,3,75,37,0,255,256,3,109,54,0,256,257, + 3,121,60,0,257,258,3,109,54,0,258,259,3,111,55,0,259,260,3,81,40,0,260, + 261,3,97,48,0,261,760,1,0,0,0,262,263,3,73,36,0,263,264,3,95,47,0,264,265, + 3,95,47,0,265,266,5,95,0,0,266,267,3,109,54,0,267,268,3,109,54,0,268,269, + 3,89,44,0,269,270,3,79,39,0,270,271,3,109,54,0,271,760,1,0,0,0,272,273, + 3,73,36,0,273,274,3,95,47,0,274,275,3,95,47,0,275,276,5,95,0,0,276,277, + 3,95,47,0,277,278,3,77,38,0,278,279,3,113,56,0,279,280,3,109,54,0,280,760, + 1,0,0,0,281,282,3,73,36,0,282,283,3,95,47,0,283,284,3,95,47,0,284,285,5, + 95,0,0,285,286,3,77,38,0,286,287,3,87,43,0,287,288,3,73,36,0,288,289,3, + 99,49,0,289,290,3,99,49,0,290,291,3,81,40,0,291,292,3,95,47,0,292,293,3, + 109,54,0,293,760,1,0,0,0,294,295,3,73,36,0,295,296,3,95,47,0,296,297,3, + 95,47,0,297,298,5,95,0,0,298,299,3,115,57,0,299,300,3,101,50,0,300,301, + 3,95,47,0,301,302,3,113,56,0,302,303,3,97,48,0,303,304,3,81,40,0,304,305, + 3,109,54,0,305,760,1,0,0,0,306,307,3,77,38,0,307,308,3,107,53,0,308,309, + 3,121,60,0,309,310,3,103,51,0,310,311,3,111,55,0,311,312,3,101,50,0,312, + 760,1,0,0,0,313,314,3,103,51,0,314,315,3,77,38,0,315,316,3,89,44,0,316, + 317,3,81,40,0,317,760,1,0,0,0,318,319,3,109,54,0,319,320,3,77,38,0,320, + 321,3,97,48,0,321,760,1,0,0,0,322,323,3,123,61,0,323,324,3,83,41,0,324, + 325,3,109,54,0,325,760,1,0,0,0,326,327,3,73,36,0,327,328,3,85,42,0,328, + 329,3,85,42,0,329,330,3,107,53,0,330,331,3,81,40,0,331,332,3,85,42,0,332, + 333,3,73,36,0,333,334,3,111,55,0,334,335,3,81,40,0,335,760,1,0,0,0,336, + 337,3,103,51,0,337,338,3,107,53,0,338,339,3,101,50,0,339,340,3,77,38,0, + 340,341,3,81,40,0,341,342,3,109,54,0,342,343,3,109,54,0,343,344,3,101,50, + 0,344,345,3,107,53,0,345,760,1,0,0,0,346,347,3,109,54,0,347,348,3,111,55, + 0,348,349,3,101,50,0,349,350,3,107,53,0,350,351,3,73,36,0,351,352,3,85, + 42,0,352,353,3,81,40,0,353,760,1,0,0,0,354,355,3,73,36,0,355,356,3,113, + 56,0,356,357,3,119,59,0,357,358,3,89,44,0,358,359,3,95,47,0,359,360,3,89, + 44,0,360,361,3,73,36,0,361,362,3,107,53,0,362,363,3,121,60,0,363,364,5, + 95,0,0,364,365,3,109,54,0,365,366,3,111,55,0,366,367,3,101,50,0,367,368, + 3,107,53,0,368,369,3,73,36,0,369,370,3,85,42,0,370,371,3,81,40,0,371,760, + 1,0,0,0,372,373,3,77,38,0,373,374,3,81,40,0,374,375,3,99,49,0,375,376,3, + 111,55,0,376,377,3,107,53,0,377,378,3,73,36,0,378,379,3,95,47,0,379,380, + 5,95,0,0,380,381,3,109,54,0,381,382,3,111,55,0,382,383,3,101,50,0,383,384, + 3,107,53,0,384,385,3,73,36,0,385,386,3,85,42,0,386,387,3,81,40,0,387,760, + 1,0,0,0,388,389,3,77,38,0,389,390,3,109,54,0,390,391,3,73,36,0,391,760, + 1,0,0,0,392,393,3,109,54,0,393,394,3,105,52,0,394,395,3,73,36,0,395,760, + 1,0,0,0,396,397,3,81,40,0,397,398,3,77,38,0,398,399,3,109,54,0,399,400, + 3,73,36,0,400,760,1,0,0,0,401,402,3,81,40,0,402,403,3,99,49,0,403,404,3, + 105,52,0,404,405,3,113,56,0,405,406,3,81,40,0,406,407,3,113,56,0,407,408, + 3,81,40,0,408,760,1,0,0,0,409,410,3,101,50,0,410,411,3,103,51,0,411,412, + 3,81,40,0,412,413,3,107,53,0,413,414,3,73,36,0,414,415,3,111,55,0,415,416, + 3,101,50,0,416,417,3,107,53,0,417,760,1,0,0,0,418,419,3,109,54,0,419,420, + 3,117,58,0,420,421,5,95,0,0,421,422,3,109,54,0,422,423,3,113,56,0,423,424, + 3,75,37,0,424,425,3,109,54,0,425,426,3,121,60,0,426,427,3,109,54,0,427, + 428,3,111,55,0,428,429,3,81,40,0,429,430,3,97,48,0,430,431,3,109,54,0,431, + 760,1,0,0,0,432,433,3,91,45,0,433,434,3,81,40,0,434,435,3,109,54,0,435, + 760,1,0,0,0,436,437,3,119,59,0,437,438,3,77,38,0,438,439,3,83,41,0,439, + 760,1,0,0,0,440,441,3,87,43,0,441,442,3,109,54,0,442,443,3,97,48,0,443, + 760,1,0,0,0,444,445,3,77,38,0,445,446,3,103,51,0,446,447,3,77,38,0,447, + 760,1,0,0,0,448,449,3,95,47,0,449,450,3,103,51,0,450,451,3,73,36,0,451, + 452,3,107,53,0,452,760,1,0,0,0,453,454,3,77,38,0,454,455,3,101,50,0,455, + 456,3,113,56,0,456,457,3,103,51,0,457,458,3,95,47,0,458,459,3,89,44,0,459, + 460,3,99,49,0,460,461,3,85,42,0,461,462,5,95,0,0,462,463,3,83,41,0,463, + 464,3,73,36,0,464,465,3,77,38,0,465,466,3,89,44,0,466,467,3,95,47,0,467, + 468,3,89,44,0,468,469,3,111,55,0,469,470,3,121,60,0,470,760,1,0,0,0,471, + 472,3,77,38,0,472,473,3,83,41,0,473,474,5,95,0,0,474,475,3,109,54,0,475, + 476,3,111,55,0,476,477,3,107,53,0,477,478,3,113,56,0,478,479,3,77,38,0, + 479,480,3,111,55,0,480,481,3,113,56,0,481,482,3,107,53,0,482,483,3,81,40, + 0,483,760,1,0,0,0,484,485,3,117,58,0,485,486,3,95,47,0,486,487,3,97,48, + 0,487,488,5,95,0,0,488,489,3,73,36,0,489,490,3,77,38,0,490,491,3,111,55, + 0,491,492,3,89,44,0,492,493,3,115,57,0,493,494,3,81,40,0,494,495,5,95,0, + 0,495,496,3,103,51,0,496,497,3,101,50,0,497,498,3,95,47,0,498,499,3,89, + 44,0,499,500,3,77,38,0,500,501,3,121,60,0,501,760,1,0,0,0,502,503,3,73, + 36,0,503,504,3,95,47,0,504,505,3,95,47,0,505,506,5,95,0,0,506,507,3,117, + 58,0,507,508,3,95,47,0,508,509,3,97,48,0,509,510,5,95,0,0,510,511,3,117, + 58,0,511,512,3,101,50,0,512,513,3,107,53,0,513,514,3,93,46,0,514,515,3, + 95,47,0,515,516,3,101,50,0,516,517,3,73,36,0,517,518,3,79,39,0,518,519, + 3,109,54,0,519,760,1,0,0,0,520,521,3,117,58,0,521,522,3,95,47,0,522,523, + 3,97,48,0,523,524,5,95,0,0,524,525,3,117,58,0,525,526,3,101,50,0,526,527, + 3,107,53,0,527,528,3,93,46,0,528,529,3,95,47,0,529,530,3,101,50,0,530,531, + 3,73,36,0,531,532,3,79,39,0,532,760,1,0,0,0,533,534,3,117,58,0,534,535, + 3,95,47,0,535,536,3,97,48,0,536,537,5,95,0,0,537,538,3,109,54,0,538,539, + 3,81,40,0,539,540,3,107,53,0,540,541,3,115,57,0,541,542,3,89,44,0,542,543, + 3,77,38,0,543,544,3,81,40,0,544,545,5,95,0,0,545,546,3,77,38,0,546,547, + 3,95,47,0,547,548,3,73,36,0,548,549,3,109,54,0,549,550,3,109,54,0,550,760, + 1,0,0,0,551,552,3,117,58,0,552,553,3,95,47,0,553,554,3,97,48,0,554,555, + 5,95,0,0,555,556,3,109,54,0,556,557,3,77,38,0,557,558,5,95,0,0,558,559, + 3,103,51,0,559,560,3,81,40,0,560,561,3,107,53,0,561,562,3,89,44,0,562,563, + 3,101,50,0,563,564,3,79,39,0,564,760,1,0,0,0,565,566,3,73,36,0,566,567, + 3,95,47,0,567,568,3,95,47,0,568,569,5,95,0,0,569,570,3,117,58,0,570,571, + 3,95,47,0,571,572,3,97,48,0,572,573,5,95,0,0,573,574,3,107,53,0,574,575, + 3,81,40,0,575,576,3,103,51,0,576,577,3,101,50,0,577,578,3,107,53,0,578, + 579,3,111,55,0,579,580,5,95,0,0,580,581,3,77,38,0,581,582,3,95,47,0,582, + 583,3,73,36,0,583,584,3,109,54,0,584,585,3,109,54,0,585,586,3,81,40,0,586, + 587,3,109,54,0,587,760,1,0,0,0,588,589,3,117,58,0,589,590,3,95,47,0,590, + 591,3,97,48,0,591,592,5,95,0,0,592,593,3,107,53,0,593,594,3,81,40,0,594, + 595,3,103,51,0,595,596,3,101,50,0,596,597,3,107,53,0,597,598,3,111,55,0, + 598,599,5,95,0,0,599,600,3,77,38,0,600,601,3,95,47,0,601,602,3,73,36,0, + 602,603,3,109,54,0,603,604,3,109,54,0,604,760,1,0,0,0,605,606,3,117,58, + 0,606,607,3,95,47,0,607,608,3,97,48,0,608,609,5,95,0,0,609,610,3,107,53, + 0,610,611,3,77,38,0,611,612,5,95,0,0,612,613,3,103,51,0,613,614,3,81,40, + 0,614,615,3,107,53,0,615,616,3,89,44,0,616,617,3,101,50,0,617,618,3,79, + 39,0,618,760,1,0,0,0,619,620,3,73,36,0,620,621,3,95,47,0,621,622,3,95,47, + 0,622,623,5,95,0,0,623,624,3,117,58,0,624,625,3,95,47,0,625,626,3,97,48, + 0,626,627,5,95,0,0,627,628,3,107,53,0,628,629,3,81,40,0,629,630,3,109,54, + 0,630,631,3,101,50,0,631,632,3,113,56,0,632,633,3,107,53,0,633,634,3,77, + 38,0,634,635,3,81,40,0,635,636,5,95,0,0,636,637,3,85,42,0,637,638,3,107, + 53,0,638,639,3,101,50,0,639,640,3,113,56,0,640,641,3,103,51,0,641,642,3, + 109,54,0,642,760,1,0,0,0,643,644,3,117,58,0,644,645,3,95,47,0,645,646,3, + 97,48,0,646,647,5,95,0,0,647,648,3,107,53,0,648,649,3,81,40,0,649,650,3, + 109,54,0,650,651,3,101,50,0,651,652,3,113,56,0,652,653,3,107,53,0,653,654, + 3,77,38,0,654,655,3,81,40,0,655,656,5,95,0,0,656,657,3,85,42,0,657,658, + 3,107,53,0,658,659,3,101,50,0,659,660,3,113,56,0,660,661,3,103,51,0,661, + 760,1,0,0,0,662,663,3,77,38,0,663,664,3,87,43,0,664,665,3,73,36,0,665,666, + 3,99,49,0,666,667,3,99,49,0,667,668,3,81,40,0,668,669,3,95,47,0,669,670, + 5,95,0,0,670,671,3,103,51,0,671,672,3,73,36,0,672,673,3,111,55,0,673,674, + 3,87,43,0,674,760,1,0,0,0,675,676,3,95,47,0,676,677,3,101,50,0,677,678, + 3,85,42,0,678,679,3,89,44,0,679,680,3,77,38,0,680,681,3,73,36,0,681,682, + 3,95,47,0,682,683,5,95,0,0,683,684,3,77,38,0,684,685,3,101,50,0,685,686, + 3,99,49,0,686,687,3,111,55,0,687,688,3,107,53,0,688,689,3,101,50,0,689, + 690,3,95,47,0,690,691,5,95,0,0,691,692,3,113,56,0,692,693,3,99,49,0,693, + 694,3,89,44,0,694,695,3,111,55,0,695,760,1,0,0,0,696,697,3,109,54,0,697, + 698,3,109,54,0,698,699,3,89,44,0,699,700,3,79,39,0,700,760,1,0,0,0,701, + 702,3,115,57,0,702,703,3,101,50,0,703,704,3,95,47,0,704,705,3,113,56,0, + 705,706,3,97,48,0,706,707,3,81,40,0,707,760,1,0,0,0,708,709,3,77,38,0,709, + 710,3,107,53,0,710,711,3,121,60,0,711,712,3,103,51,0,712,713,3,111,55,0, + 713,714,3,101,50,0,714,715,5,95,0,0,715,716,3,77,38,0,716,717,3,73,36,0, + 717,718,3,107,53,0,718,719,3,79,39,0,719,760,1,0,0,0,720,721,3,103,51,0, + 721,722,3,77,38,0,722,723,3,89,44,0,723,724,3,81,40,0,724,725,5,95,0,0, + 725,726,3,83,41,0,726,727,3,113,56,0,727,728,3,99,49,0,728,729,3,77,38, + 0,729,730,3,111,55,0,730,731,3,89,44,0,731,732,3,101,50,0,732,733,3,99, + 49,0,733,760,1,0,0,0,734,735,3,109,54,0,735,736,3,77,38,0,736,737,3,97, + 48,0,737,738,5,95,0,0,738,739,3,77,38,0,739,740,3,73,36,0,740,741,3,107, + 53,0,741,742,3,79,39,0,742,760,1,0,0,0,743,744,3,81,40,0,744,745,3,109, + 54,0,745,746,3,105,52,0,746,747,3,73,36,0,747,760,1,0,0,0,748,749,3,83, + 41,0,749,750,3,89,44,0,750,751,3,95,47,0,751,752,3,81,40,0,752,753,3,109, + 54,0,753,754,3,121,60,0,754,755,3,109,54,0,755,756,3,111,55,0,756,757,3, + 81,40,0,757,758,3,97,48,0,758,760,1,0,0,0,759,230,1,0,0,0,759,238,1,0,0, + 0,759,248,1,0,0,0,759,262,1,0,0,0,759,272,1,0,0,0,759,281,1,0,0,0,759,294, + 1,0,0,0,759,306,1,0,0,0,759,313,1,0,0,0,759,318,1,0,0,0,759,322,1,0,0,0, + 759,326,1,0,0,0,759,336,1,0,0,0,759,346,1,0,0,0,759,354,1,0,0,0,759,372, + 1,0,0,0,759,388,1,0,0,0,759,392,1,0,0,0,759,396,1,0,0,0,759,401,1,0,0,0, + 759,409,1,0,0,0,759,418,1,0,0,0,759,432,1,0,0,0,759,436,1,0,0,0,759,440, + 1,0,0,0,759,444,1,0,0,0,759,448,1,0,0,0,759,453,1,0,0,0,759,471,1,0,0,0, + 759,484,1,0,0,0,759,502,1,0,0,0,759,520,1,0,0,0,759,533,1,0,0,0,759,551, + 1,0,0,0,759,565,1,0,0,0,759,588,1,0,0,0,759,605,1,0,0,0,759,619,1,0,0,0, + 759,643,1,0,0,0,759,662,1,0,0,0,759,675,1,0,0,0,759,696,1,0,0,0,759,701, + 1,0,0,0,759,708,1,0,0,0,759,720,1,0,0,0,759,734,1,0,0,0,759,743,1,0,0,0, + 759,748,1,0,0,0,760,32,1,0,0,0,761,768,3,85,42,0,762,768,3,117,58,0,763, + 768,3,109,54,0,764,768,3,103,51,0,765,768,3,107,53,0,766,768,3,91,45,0, + 767,761,1,0,0,0,767,762,1,0,0,0,767,763,1,0,0,0,767,764,1,0,0,0,767,765, + 1,0,0,0,767,766,1,0,0,0,768,34,1,0,0,0,769,771,7,0,0,0,770,769,1,0,0,0, + 771,772,1,0,0,0,772,770,1,0,0,0,772,773,1,0,0,0,773,36,1,0,0,0,774,775, + 3,35,17,0,775,776,3,45,22,0,776,777,3,35,17,0,777,38,1,0,0,0,778,780,7, + 1,0,0,779,778,1,0,0,0,780,781,1,0,0,0,781,779,1,0,0,0,781,782,1,0,0,0,782, + 40,1,0,0,0,783,785,3,65,32,0,784,783,1,0,0,0,785,786,1,0,0,0,786,784,1, + 0,0,0,786,787,1,0,0,0,787,42,1,0,0,0,788,792,3,59,29,0,789,791,3,67,33, + 0,790,789,1,0,0,0,791,794,1,0,0,0,792,790,1,0,0,0,792,793,1,0,0,0,793,795, + 1,0,0,0,794,792,1,0,0,0,795,796,3,59,29,0,796,807,1,0,0,0,797,801,3,61, + 30,0,798,800,3,69,34,0,799,798,1,0,0,0,800,803,1,0,0,0,801,799,1,0,0,0, + 801,802,1,0,0,0,802,804,1,0,0,0,803,801,1,0,0,0,804,805,3,61,30,0,805,807, + 1,0,0,0,806,788,1,0,0,0,806,797,1,0,0,0,807,44,1,0,0,0,808,809,5,46,0,0, + 809,46,1,0,0,0,810,811,5,59,0,0,811,48,1,0,0,0,812,813,5,44,0,0,813,50, + 1,0,0,0,814,815,5,123,0,0,815,52,1,0,0,0,816,817,5,125,0,0,817,54,1,0,0, + 0,818,819,5,61,0,0,819,56,1,0,0,0,820,822,7,2,0,0,821,820,1,0,0,0,822,823, + 1,0,0,0,823,821,1,0,0,0,823,824,1,0,0,0,824,58,1,0,0,0,825,826,5,39,0,0, + 826,60,1,0,0,0,827,828,5,34,0,0,828,62,1,0,0,0,829,830,5,95,0,0,830,64, + 1,0,0,0,831,832,8,3,0,0,832,66,1,0,0,0,833,834,8,4,0,0,834,68,1,0,0,0,835, + 836,8,5,0,0,836,70,1,0,0,0,837,838,8,6,0,0,838,72,1,0,0,0,839,840,7,7,0, + 0,840,74,1,0,0,0,841,842,7,8,0,0,842,76,1,0,0,0,843,844,7,9,0,0,844,78, + 1,0,0,0,845,846,7,10,0,0,846,80,1,0,0,0,847,848,7,11,0,0,848,82,1,0,0,0, + 849,850,7,12,0,0,850,84,1,0,0,0,851,852,7,13,0,0,852,86,1,0,0,0,853,854, + 7,14,0,0,854,88,1,0,0,0,855,856,7,15,0,0,856,90,1,0,0,0,857,858,7,16,0, + 0,858,92,1,0,0,0,859,860,7,17,0,0,860,94,1,0,0,0,861,862,7,18,0,0,862,96, + 1,0,0,0,863,864,7,19,0,0,864,98,1,0,0,0,865,866,7,20,0,0,866,100,1,0,0, + 0,867,868,7,21,0,0,868,102,1,0,0,0,869,870,7,22,0,0,870,104,1,0,0,0,871, + 872,7,23,0,0,872,106,1,0,0,0,873,874,7,24,0,0,874,108,1,0,0,0,875,876,7, + 25,0,0,876,110,1,0,0,0,877,878,7,26,0,0,878,112,1,0,0,0,879,880,7,27,0, + 0,880,114,1,0,0,0,881,882,7,28,0,0,882,116,1,0,0,0,883,884,7,29,0,0,884, + 118,1,0,0,0,885,886,7,30,0,0,886,120,1,0,0,0,887,888,7,31,0,0,888,122,1, + 0,0,0,889,890,7,32,0,0,890,124,1,0,0,0,11,0,228,759,767,772,781,786,792, + 801,806,823,0]; private static __ATN: ATN; public static get _ATN(): ATN { diff --git a/grafana/rmf-app/src/datasource/parser/lib/RMFQueryParser.ts b/grafana/rmf-app/src/datasource/parser/lib/RMFQueryParser.ts index 553bebf8..e52d50c0 100644 --- a/grafana/rmf-app/src/datasource/parser/lib/RMFQueryParser.ts +++ b/grafana/rmf-app/src/datasource/parser/lib/RMFQueryParser.ts @@ -18,32 +18,34 @@ type int = number; export default class RMFQueryParser extends Parser { public static readonly REPORT = 1; - public static readonly WORKSCOPE = 2; - public static readonly RANGE = 3; - public static readonly ULQ = 4; - public static readonly NAME = 5; - public static readonly FILTER = 6; - public static readonly PAT = 7; - public static readonly LB = 8; - public static readonly UB = 9; - public static readonly HI = 10; - public static readonly LO = 11; - public static readonly ORD = 12; - public static readonly ORD_OPTION = 13; - public static readonly RES_TYPE = 14; - public static readonly WORKSCOPE_TYPE = 15; - public static readonly INTEGER = 16; - public static readonly DECIMAL = 17; - public static readonly IDENTIFIER = 18; - public static readonly STRING_UNQUOTED = 19; - public static readonly STRING_QUOTED = 20; - public static readonly DOT = 21; - public static readonly SEMI = 22; - public static readonly COMMA = 23; - public static readonly LBRACE = 24; - public static readonly RBRACE = 25; - public static readonly EQUAL = 26; - public static readonly WS = 27; + public static readonly REPORT_CAPTION = 2; + public static readonly REPORT_BANNER = 3; + public static readonly WORKSCOPE = 4; + public static readonly RANGE = 5; + public static readonly ULQ = 6; + public static readonly NAME = 7; + public static readonly FILTER = 8; + public static readonly PAT = 9; + public static readonly LB = 10; + public static readonly UB = 11; + public static readonly HI = 12; + public static readonly LO = 13; + public static readonly ORD = 14; + public static readonly ORD_OPTION = 15; + public static readonly RES_TYPE = 16; + public static readonly WORKSCOPE_TYPE = 17; + public static readonly INTEGER = 18; + public static readonly DECIMAL = 19; + public static readonly IDENTIFIER = 20; + public static readonly STRING_UNQUOTED = 21; + public static readonly STRING_QUOTED = 22; + public static readonly DOT = 23; + public static readonly SEMI = 24; + public static readonly COMMA = 25; + public static readonly LBRACE = 26; + public static readonly RBRACE = 27; + public static readonly EQUAL = 28; + public static readonly WS = 29; public static override readonly EOF = Token.EOF; public static readonly RULE_query = 0; public static readonly RULE_identifier = 1; @@ -77,11 +79,14 @@ export default class RMFQueryParser extends Parser { null, null, null, null, null, null, + null, null, null, "'.'", "';'", "','", "'{'", "'}'", "'='" ]; public static readonly symbolicNames: (string | null)[] = [ null, "REPORT", + "REPORT_CAPTION", + "REPORT_BANNER", "WORKSCOPE", "RANGE", "ULQ", "NAME", "FILTER", @@ -133,7 +138,7 @@ export default class RMFQueryParser extends Parser { this.state = 47; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { this.state = 44; @@ -146,63 +151,85 @@ export default class RMFQueryParser extends Parser { } this.state = 50; this.match(RMFQueryParser.RES_TYPE); - this.state = 53; + this.state = 57; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 1, this._ctx) ) { case 1: + { { this.state = 51; this.match(RMFQueryParser.DOT); this.state = 52; this.match(RMFQueryParser.REPORT); } + } + break; + case 2: + { + { + this.state = 53; + this.match(RMFQueryParser.DOT); + this.state = 54; + this.match(RMFQueryParser.REPORT_CAPTION); + } + } + break; + case 3: + { + { + this.state = 55; + this.match(RMFQueryParser.DOT); + this.state = 56; + this.match(RMFQueryParser.REPORT_BANNER); + } + } break; } - this.state = 55; + this.state = 59; this.match(RMFQueryParser.DOT); - this.state = 56; - this.identifier(); this.state = 60; + this.identifier(); + this.state = 64; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 2, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 57; + this.state = 61; this.match(RMFQueryParser.WS); } } } - this.state = 62; + this.state = 66; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 2, this._ctx); } - this.state = 64; + this.state = 68; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===24) { + if (_la===26) { { - this.state = 63; + this.state = 67; this.qualifiers(); } } - this.state = 69; + this.state = 73; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { - this.state = 66; + this.state = 70; this.match(RMFQueryParser.WS); } } - this.state = 71; + this.state = 75; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 72; + this.state = 76; this.match(RMFQueryParser.EOF); } } @@ -227,7 +254,7 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 74; + this.state = 78; this.stringSpaced(); } } @@ -253,83 +280,83 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 76; - this.match(RMFQueryParser.LBRACE); this.state = 80; + this.match(RMFQueryParser.LBRACE); + this.state = 84; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { - this.state = 77; + this.state = 81; this.match(RMFQueryParser.WS); } } - this.state = 82; + this.state = 86; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 83; - this.qualifier(); this.state = 87; + this.qualifier(); + this.state = 91; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { - this.state = 84; + this.state = 88; this.match(RMFQueryParser.WS); } } - this.state = 89; + this.state = 93; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 106; + this.state = 110; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===23) { + while (_la===25) { { { - this.state = 90; - this.match(RMFQueryParser.COMMA); this.state = 94; + this.match(RMFQueryParser.COMMA); + this.state = 98; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { - this.state = 91; + this.state = 95; this.match(RMFQueryParser.WS); } } - this.state = 96; + this.state = 100; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 97; - this.qualifier(); this.state = 101; + this.qualifier(); + this.state = 105; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===27) { + while (_la===29) { { { - this.state = 98; + this.state = 102; this.match(RMFQueryParser.WS); } } - this.state = 103; + this.state = 107; this._errHandler.sync(this); _la = this._input.LA(1); } } } - this.state = 108; + this.state = 112; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 109; + this.state = 113; this.match(RMFQueryParser.RBRACE); } } @@ -352,34 +379,34 @@ export default class RMFQueryParser extends Parser { let localctx: QualifierContext = new QualifierContext(this, this._ctx, this.state); this.enterRule(localctx, 6, RMFQueryParser.RULE_qualifier); try { - this.state = 115; + this.state = 119; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 4: + case 6: this.enterOuterAlt(localctx, 1); { - this.state = 111; + this.state = 115; this.ulq(); } break; - case 5: + case 7: this.enterOuterAlt(localctx, 2); { - this.state = 112; + this.state = 116; this.name(); } break; - case 6: + case 8: this.enterOuterAlt(localctx, 3); { - this.state = 113; + this.state = 117; this.filter(); } break; - case 2: + case 4: this.enterOuterAlt(localctx, 4); { - this.state = 114; + this.state = 118; this.workscope(); } break; @@ -408,11 +435,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 117; + this.state = 121; this.match(RMFQueryParser.ULQ); - this.state = 118; + this.state = 122; this.match(RMFQueryParser.EQUAL); - this.state = 119; + this.state = 123; this.string_(); } } @@ -437,11 +464,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 121; + this.state = 125; this.match(RMFQueryParser.NAME); - this.state = 122; + this.state = 126; this.match(RMFQueryParser.EQUAL); - this.state = 123; + this.state = 127; this.string_(); } } @@ -466,11 +493,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 125; + this.state = 129; this.match(RMFQueryParser.FILTER); - this.state = 126; + this.state = 130; this.match(RMFQueryParser.EQUAL); - this.state = 127; + this.state = 131; this.filterValue(); } } @@ -496,21 +523,21 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 129; + this.state = 133; this.filterItem(); - this.state = 134; + this.state = 138; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===22) { + while (_la===24) { { { - this.state = 130; + this.state = 134; this.match(RMFQueryParser.SEMI); - this.state = 131; + this.state = 135; this.filterItem(); } } - this.state = 136; + this.state = 140; this._errHandler.sync(this); _la = this._input.LA(1); } @@ -535,48 +562,48 @@ export default class RMFQueryParser extends Parser { let localctx: FilterItemContext = new FilterItemContext(this, this._ctx, this.state); this.enterRule(localctx, 16, RMFQueryParser.RULE_filterItem); try { - this.state = 143; + this.state = 147; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 7: + case 9: this.enterOuterAlt(localctx, 1); { - this.state = 137; + this.state = 141; this.pat(); } break; - case 8: + case 10: this.enterOuterAlt(localctx, 2); { - this.state = 138; + this.state = 142; this.lb(); } break; - case 9: + case 11: this.enterOuterAlt(localctx, 3); { - this.state = 139; + this.state = 143; this.ub(); } break; - case 10: + case 12: this.enterOuterAlt(localctx, 4); { - this.state = 140; + this.state = 144; this.hi(); } break; - case 11: + case 13: this.enterOuterAlt(localctx, 5); { - this.state = 141; + this.state = 145; this.lo(); } break; - case 12: + case 14: this.enterOuterAlt(localctx, 6); { - this.state = 142; + this.state = 146; this.ord(); } break; @@ -605,11 +632,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 145; + this.state = 149; this.match(RMFQueryParser.PAT); - this.state = 146; + this.state = 150; this.match(RMFQueryParser.EQUAL); - this.state = 147; + this.state = 151; this.string_(); } } @@ -634,11 +661,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 149; + this.state = 153; this.match(RMFQueryParser.LB); - this.state = 150; + this.state = 154; this.match(RMFQueryParser.EQUAL); - this.state = 151; + this.state = 155; this.number_(); } } @@ -663,11 +690,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 153; + this.state = 157; this.match(RMFQueryParser.UB); - this.state = 154; + this.state = 158; this.match(RMFQueryParser.EQUAL); - this.state = 155; + this.state = 159; this.number_(); } } @@ -692,11 +719,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 157; + this.state = 161; this.match(RMFQueryParser.HI); - this.state = 158; + this.state = 162; this.match(RMFQueryParser.EQUAL); - this.state = 159; + this.state = 163; this.match(RMFQueryParser.INTEGER); } } @@ -721,11 +748,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 161; + this.state = 165; this.match(RMFQueryParser.LO); - this.state = 162; + this.state = 166; this.match(RMFQueryParser.EQUAL); - this.state = 163; + this.state = 167; this.match(RMFQueryParser.INTEGER); } } @@ -750,11 +777,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 165; + this.state = 169; this.match(RMFQueryParser.ORD); - this.state = 166; + this.state = 170; this.match(RMFQueryParser.EQUAL); - this.state = 167; + this.state = 171; this.match(RMFQueryParser.ORD_OPTION); } } @@ -779,11 +806,11 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 169; + this.state = 173; this.match(RMFQueryParser.WORKSCOPE); - this.state = 170; + this.state = 174; this.match(RMFQueryParser.EQUAL); - this.state = 171; + this.state = 175; this.workscopeValue(); } } @@ -809,31 +836,31 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 174; + this.state = 178; this._errHandler.sync(this); _la = this._input.LA(1); - if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1933310) !== 0)) { + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 7733246) !== 0)) { { - this.state = 173; + this.state = 177; this.string_(); } } - this.state = 176; + this.state = 180; this.match(RMFQueryParser.COMMA); - this.state = 178; + this.state = 182; this._errHandler.sync(this); _la = this._input.LA(1); - if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1933310) !== 0)) { + if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 7733246) !== 0)) { { - this.state = 177; + this.state = 181; this.string_(); } } - this.state = 180; + this.state = 184; this.match(RMFQueryParser.COMMA); - this.state = 181; + this.state = 185; this.match(RMFQueryParser.WORKSCOPE_TYPE); } } @@ -859,9 +886,9 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 183; + this.state = 187; _la = this._input.LA(1); - if(!(_la===16 || _la===17)) { + if(!(_la===18 || _la===19)) { this._errHandler.recoverInline(this); } else { @@ -892,9 +919,9 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 185; + this.state = 189; _la = this._input.LA(1); - if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 884734) !== 0))) { + if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3538942) !== 0))) { this._errHandler.recoverInline(this); } else { @@ -926,35 +953,35 @@ export default class RMFQueryParser extends Parser { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 187; + this.state = 191; this.stringUnquoted(); - this.state = 196; + this.state = 200; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 16, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 189; + this.state = 193; this._errHandler.sync(this); _la = this._input.LA(1); do { { { - this.state = 188; + this.state = 192; this.match(RMFQueryParser.WS); } } - this.state = 191; + this.state = 195; this._errHandler.sync(this); _la = this._input.LA(1); - } while (_la===27); - this.state = 193; + } while (_la===29); + this.state = 197; this.stringUnquoted(); } } } - this.state = 198; + this.state = 202; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 16, this._ctx); } @@ -982,21 +1009,21 @@ export default class RMFQueryParser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 199; + this.state = 203; this.stringUnquoted(); - this.state = 204; + this.state = 208; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===21) { + while (_la===23) { { { - this.state = 200; + this.state = 204; this.match(RMFQueryParser.DOT); - this.state = 201; + this.state = 205; this.stringUnquoted(); } } - this.state = 206; + this.state = 210; this._errHandler.sync(this); _la = this._input.LA(1); } @@ -1021,7 +1048,7 @@ export default class RMFQueryParser extends Parser { let localctx: StringContext = new StringContext(this, this._ctx, this.state); this.enterRule(localctx, 42, RMFQueryParser.RULE_string); try { - this.state = 209; + this.state = 213; this._errHandler.sync(this); switch (this._input.LA(1)) { case 1: @@ -1038,19 +1065,21 @@ export default class RMFQueryParser extends Parser { case 12: case 13: case 14: + case 15: case 16: case 18: - case 19: + case 20: + case 21: this.enterOuterAlt(localctx, 1); { - this.state = 207; + this.state = 211; this.stringDotted(); } break; - case 20: + case 22: this.enterOuterAlt(localctx, 2); { - this.state = 208; + this.state = 212; this.match(RMFQueryParser.STRING_QUOTED); } break; @@ -1073,71 +1102,73 @@ export default class RMFQueryParser extends Parser { return localctx; } - public static readonly _serializedATN: number[] = [4,1,27,212,2,0,7,0,2, + public static readonly _serializedATN: number[] = [4,1,29,216,2,0,7,0,2, 1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2, 10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17, 7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,1,0,5,0,46,8,0,10,0,12,0,49, - 9,0,1,0,1,0,1,0,3,0,54,8,0,1,0,1,0,1,0,5,0,59,8,0,10,0,12,0,62,9,0,1,0, - 3,0,65,8,0,1,0,5,0,68,8,0,10,0,12,0,71,9,0,1,0,1,0,1,1,1,1,1,2,1,2,5,2, - 79,8,2,10,2,12,2,82,9,2,1,2,1,2,5,2,86,8,2,10,2,12,2,89,9,2,1,2,1,2,5,2, - 93,8,2,10,2,12,2,96,9,2,1,2,1,2,5,2,100,8,2,10,2,12,2,103,9,2,5,2,105,8, - 2,10,2,12,2,108,9,2,1,2,1,2,1,3,1,3,1,3,1,3,3,3,116,8,3,1,4,1,4,1,4,1,4, - 1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,5,7,133,8,7,10,7,12,7,136,9, - 7,1,8,1,8,1,8,1,8,1,8,1,8,3,8,144,8,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1, - 10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14, - 1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,175,8,16,1,16,1,16,3,16,179,8,16, - 1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,4,19,190,8,19,11,19,12,19, - 191,1,19,5,19,195,8,19,10,19,12,19,198,9,19,1,20,1,20,1,20,5,20,203,8,20, - 10,20,12,20,206,9,20,1,21,1,21,3,21,210,8,21,1,21,0,0,22,0,2,4,6,8,10,12, - 14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,0,2,1,0,16,17,3,0,1,14,16, - 16,18,19,214,0,47,1,0,0,0,2,74,1,0,0,0,4,76,1,0,0,0,6,115,1,0,0,0,8,117, - 1,0,0,0,10,121,1,0,0,0,12,125,1,0,0,0,14,129,1,0,0,0,16,143,1,0,0,0,18, - 145,1,0,0,0,20,149,1,0,0,0,22,153,1,0,0,0,24,157,1,0,0,0,26,161,1,0,0,0, - 28,165,1,0,0,0,30,169,1,0,0,0,32,174,1,0,0,0,34,183,1,0,0,0,36,185,1,0, - 0,0,38,187,1,0,0,0,40,199,1,0,0,0,42,209,1,0,0,0,44,46,5,27,0,0,45,44,1, - 0,0,0,46,49,1,0,0,0,47,45,1,0,0,0,47,48,1,0,0,0,48,50,1,0,0,0,49,47,1,0, - 0,0,50,53,5,14,0,0,51,52,5,21,0,0,52,54,5,1,0,0,53,51,1,0,0,0,53,54,1,0, - 0,0,54,55,1,0,0,0,55,56,5,21,0,0,56,60,3,2,1,0,57,59,5,27,0,0,58,57,1,0, - 0,0,59,62,1,0,0,0,60,58,1,0,0,0,60,61,1,0,0,0,61,64,1,0,0,0,62,60,1,0,0, - 0,63,65,3,4,2,0,64,63,1,0,0,0,64,65,1,0,0,0,65,69,1,0,0,0,66,68,5,27,0, - 0,67,66,1,0,0,0,68,71,1,0,0,0,69,67,1,0,0,0,69,70,1,0,0,0,70,72,1,0,0,0, - 71,69,1,0,0,0,72,73,5,0,0,1,73,1,1,0,0,0,74,75,3,38,19,0,75,3,1,0,0,0,76, - 80,5,24,0,0,77,79,5,27,0,0,78,77,1,0,0,0,79,82,1,0,0,0,80,78,1,0,0,0,80, - 81,1,0,0,0,81,83,1,0,0,0,82,80,1,0,0,0,83,87,3,6,3,0,84,86,5,27,0,0,85, - 84,1,0,0,0,86,89,1,0,0,0,87,85,1,0,0,0,87,88,1,0,0,0,88,106,1,0,0,0,89, - 87,1,0,0,0,90,94,5,23,0,0,91,93,5,27,0,0,92,91,1,0,0,0,93,96,1,0,0,0,94, - 92,1,0,0,0,94,95,1,0,0,0,95,97,1,0,0,0,96,94,1,0,0,0,97,101,3,6,3,0,98, - 100,5,27,0,0,99,98,1,0,0,0,100,103,1,0,0,0,101,99,1,0,0,0,101,102,1,0,0, - 0,102,105,1,0,0,0,103,101,1,0,0,0,104,90,1,0,0,0,105,108,1,0,0,0,106,104, - 1,0,0,0,106,107,1,0,0,0,107,109,1,0,0,0,108,106,1,0,0,0,109,110,5,25,0, - 0,110,5,1,0,0,0,111,116,3,8,4,0,112,116,3,10,5,0,113,116,3,12,6,0,114,116, - 3,30,15,0,115,111,1,0,0,0,115,112,1,0,0,0,115,113,1,0,0,0,115,114,1,0,0, - 0,116,7,1,0,0,0,117,118,5,4,0,0,118,119,5,26,0,0,119,120,3,42,21,0,120, - 9,1,0,0,0,121,122,5,5,0,0,122,123,5,26,0,0,123,124,3,42,21,0,124,11,1,0, - 0,0,125,126,5,6,0,0,126,127,5,26,0,0,127,128,3,14,7,0,128,13,1,0,0,0,129, - 134,3,16,8,0,130,131,5,22,0,0,131,133,3,16,8,0,132,130,1,0,0,0,133,136, - 1,0,0,0,134,132,1,0,0,0,134,135,1,0,0,0,135,15,1,0,0,0,136,134,1,0,0,0, - 137,144,3,18,9,0,138,144,3,20,10,0,139,144,3,22,11,0,140,144,3,24,12,0, - 141,144,3,26,13,0,142,144,3,28,14,0,143,137,1,0,0,0,143,138,1,0,0,0,143, - 139,1,0,0,0,143,140,1,0,0,0,143,141,1,0,0,0,143,142,1,0,0,0,144,17,1,0, - 0,0,145,146,5,7,0,0,146,147,5,26,0,0,147,148,3,42,21,0,148,19,1,0,0,0,149, - 150,5,8,0,0,150,151,5,26,0,0,151,152,3,34,17,0,152,21,1,0,0,0,153,154,5, - 9,0,0,154,155,5,26,0,0,155,156,3,34,17,0,156,23,1,0,0,0,157,158,5,10,0, - 0,158,159,5,26,0,0,159,160,5,16,0,0,160,25,1,0,0,0,161,162,5,11,0,0,162, - 163,5,26,0,0,163,164,5,16,0,0,164,27,1,0,0,0,165,166,5,12,0,0,166,167,5, - 26,0,0,167,168,5,13,0,0,168,29,1,0,0,0,169,170,5,2,0,0,170,171,5,26,0,0, - 171,172,3,32,16,0,172,31,1,0,0,0,173,175,3,42,21,0,174,173,1,0,0,0,174, - 175,1,0,0,0,175,176,1,0,0,0,176,178,5,23,0,0,177,179,3,42,21,0,178,177, - 1,0,0,0,178,179,1,0,0,0,179,180,1,0,0,0,180,181,5,23,0,0,181,182,5,15,0, - 0,182,33,1,0,0,0,183,184,7,0,0,0,184,35,1,0,0,0,185,186,7,1,0,0,186,37, - 1,0,0,0,187,196,3,36,18,0,188,190,5,27,0,0,189,188,1,0,0,0,190,191,1,0, - 0,0,191,189,1,0,0,0,191,192,1,0,0,0,192,193,1,0,0,0,193,195,3,36,18,0,194, - 189,1,0,0,0,195,198,1,0,0,0,196,194,1,0,0,0,196,197,1,0,0,0,197,39,1,0, - 0,0,198,196,1,0,0,0,199,204,3,36,18,0,200,201,5,21,0,0,201,203,3,36,18, - 0,202,200,1,0,0,0,203,206,1,0,0,0,204,202,1,0,0,0,204,205,1,0,0,0,205,41, - 1,0,0,0,206,204,1,0,0,0,207,210,3,40,20,0,208,210,5,20,0,0,209,207,1,0, - 0,0,209,208,1,0,0,0,210,43,1,0,0,0,19,47,53,60,64,69,80,87,94,101,106,115, - 134,143,174,178,191,196,204,209]; + 9,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,58,8,0,1,0,1,0,1,0,5,0,63,8,0,10,0, + 12,0,66,9,0,1,0,3,0,69,8,0,1,0,5,0,72,8,0,10,0,12,0,75,9,0,1,0,1,0,1,1, + 1,1,1,2,1,2,5,2,83,8,2,10,2,12,2,86,9,2,1,2,1,2,5,2,90,8,2,10,2,12,2,93, + 9,2,1,2,1,2,5,2,97,8,2,10,2,12,2,100,9,2,1,2,1,2,5,2,104,8,2,10,2,12,2, + 107,9,2,5,2,109,8,2,10,2,12,2,112,9,2,1,2,1,2,1,3,1,3,1,3,1,3,3,3,120,8, + 3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,5,7,137,8, + 7,10,7,12,7,140,9,7,1,8,1,8,1,8,1,8,1,8,1,8,3,8,148,8,8,1,9,1,9,1,9,1,9, + 1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1, + 13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,179,8,16,1,16, + 1,16,3,16,183,8,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,4,19,194, + 8,19,11,19,12,19,195,1,19,5,19,199,8,19,10,19,12,19,202,9,19,1,20,1,20, + 1,20,5,20,207,8,20,10,20,12,20,210,9,20,1,21,1,21,3,21,214,8,21,1,21,0, + 0,22,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,0,2,1, + 0,18,19,3,0,1,16,18,18,20,21,220,0,47,1,0,0,0,2,78,1,0,0,0,4,80,1,0,0,0, + 6,119,1,0,0,0,8,121,1,0,0,0,10,125,1,0,0,0,12,129,1,0,0,0,14,133,1,0,0, + 0,16,147,1,0,0,0,18,149,1,0,0,0,20,153,1,0,0,0,22,157,1,0,0,0,24,161,1, + 0,0,0,26,165,1,0,0,0,28,169,1,0,0,0,30,173,1,0,0,0,32,178,1,0,0,0,34,187, + 1,0,0,0,36,189,1,0,0,0,38,191,1,0,0,0,40,203,1,0,0,0,42,213,1,0,0,0,44, + 46,5,29,0,0,45,44,1,0,0,0,46,49,1,0,0,0,47,45,1,0,0,0,47,48,1,0,0,0,48, + 50,1,0,0,0,49,47,1,0,0,0,50,57,5,16,0,0,51,52,5,23,0,0,52,58,5,1,0,0,53, + 54,5,23,0,0,54,58,5,2,0,0,55,56,5,23,0,0,56,58,5,3,0,0,57,51,1,0,0,0,57, + 53,1,0,0,0,57,55,1,0,0,0,57,58,1,0,0,0,58,59,1,0,0,0,59,60,5,23,0,0,60, + 64,3,2,1,0,61,63,5,29,0,0,62,61,1,0,0,0,63,66,1,0,0,0,64,62,1,0,0,0,64, + 65,1,0,0,0,65,68,1,0,0,0,66,64,1,0,0,0,67,69,3,4,2,0,68,67,1,0,0,0,68,69, + 1,0,0,0,69,73,1,0,0,0,70,72,5,29,0,0,71,70,1,0,0,0,72,75,1,0,0,0,73,71, + 1,0,0,0,73,74,1,0,0,0,74,76,1,0,0,0,75,73,1,0,0,0,76,77,5,0,0,1,77,1,1, + 0,0,0,78,79,3,38,19,0,79,3,1,0,0,0,80,84,5,26,0,0,81,83,5,29,0,0,82,81, + 1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1, + 0,0,0,87,91,3,6,3,0,88,90,5,29,0,0,89,88,1,0,0,0,90,93,1,0,0,0,91,89,1, + 0,0,0,91,92,1,0,0,0,92,110,1,0,0,0,93,91,1,0,0,0,94,98,5,25,0,0,95,97,5, + 29,0,0,96,95,1,0,0,0,97,100,1,0,0,0,98,96,1,0,0,0,98,99,1,0,0,0,99,101, + 1,0,0,0,100,98,1,0,0,0,101,105,3,6,3,0,102,104,5,29,0,0,103,102,1,0,0,0, + 104,107,1,0,0,0,105,103,1,0,0,0,105,106,1,0,0,0,106,109,1,0,0,0,107,105, + 1,0,0,0,108,94,1,0,0,0,109,112,1,0,0,0,110,108,1,0,0,0,110,111,1,0,0,0, + 111,113,1,0,0,0,112,110,1,0,0,0,113,114,5,27,0,0,114,5,1,0,0,0,115,120, + 3,8,4,0,116,120,3,10,5,0,117,120,3,12,6,0,118,120,3,30,15,0,119,115,1,0, + 0,0,119,116,1,0,0,0,119,117,1,0,0,0,119,118,1,0,0,0,120,7,1,0,0,0,121,122, + 5,6,0,0,122,123,5,28,0,0,123,124,3,42,21,0,124,9,1,0,0,0,125,126,5,7,0, + 0,126,127,5,28,0,0,127,128,3,42,21,0,128,11,1,0,0,0,129,130,5,8,0,0,130, + 131,5,28,0,0,131,132,3,14,7,0,132,13,1,0,0,0,133,138,3,16,8,0,134,135,5, + 24,0,0,135,137,3,16,8,0,136,134,1,0,0,0,137,140,1,0,0,0,138,136,1,0,0,0, + 138,139,1,0,0,0,139,15,1,0,0,0,140,138,1,0,0,0,141,148,3,18,9,0,142,148, + 3,20,10,0,143,148,3,22,11,0,144,148,3,24,12,0,145,148,3,26,13,0,146,148, + 3,28,14,0,147,141,1,0,0,0,147,142,1,0,0,0,147,143,1,0,0,0,147,144,1,0,0, + 0,147,145,1,0,0,0,147,146,1,0,0,0,148,17,1,0,0,0,149,150,5,9,0,0,150,151, + 5,28,0,0,151,152,3,42,21,0,152,19,1,0,0,0,153,154,5,10,0,0,154,155,5,28, + 0,0,155,156,3,34,17,0,156,21,1,0,0,0,157,158,5,11,0,0,158,159,5,28,0,0, + 159,160,3,34,17,0,160,23,1,0,0,0,161,162,5,12,0,0,162,163,5,28,0,0,163, + 164,5,18,0,0,164,25,1,0,0,0,165,166,5,13,0,0,166,167,5,28,0,0,167,168,5, + 18,0,0,168,27,1,0,0,0,169,170,5,14,0,0,170,171,5,28,0,0,171,172,5,15,0, + 0,172,29,1,0,0,0,173,174,5,4,0,0,174,175,5,28,0,0,175,176,3,32,16,0,176, + 31,1,0,0,0,177,179,3,42,21,0,178,177,1,0,0,0,178,179,1,0,0,0,179,180,1, + 0,0,0,180,182,5,25,0,0,181,183,3,42,21,0,182,181,1,0,0,0,182,183,1,0,0, + 0,183,184,1,0,0,0,184,185,5,25,0,0,185,186,5,17,0,0,186,33,1,0,0,0,187, + 188,7,0,0,0,188,35,1,0,0,0,189,190,7,1,0,0,190,37,1,0,0,0,191,200,3,36, + 18,0,192,194,5,29,0,0,193,192,1,0,0,0,194,195,1,0,0,0,195,193,1,0,0,0,195, + 196,1,0,0,0,196,197,1,0,0,0,197,199,3,36,18,0,198,193,1,0,0,0,199,202,1, + 0,0,0,200,198,1,0,0,0,200,201,1,0,0,0,201,39,1,0,0,0,202,200,1,0,0,0,203, + 208,3,36,18,0,204,205,5,23,0,0,205,207,3,36,18,0,206,204,1,0,0,0,207,210, + 1,0,0,0,208,206,1,0,0,0,208,209,1,0,0,0,209,41,1,0,0,0,210,208,1,0,0,0, + 211,214,3,40,20,0,212,214,5,22,0,0,213,211,1,0,0,0,213,212,1,0,0,0,214, + 43,1,0,0,0,19,47,57,64,68,73,84,91,98,105,110,119,138,147,178,182,195,200, + 208,213]; private static __ATN: ATN; public static get _ATN(): ATN { @@ -1179,11 +1210,17 @@ export class QueryContext extends ParserRuleContext { public WS(i: number): TerminalNode { return this.getToken(RMFQueryParser.WS, i); } + public qualifiers(): QualifiersContext { + return this.getTypedRuleContext(QualifiersContext, 0) as QualifiersContext; + } public REPORT(): TerminalNode { return this.getToken(RMFQueryParser.REPORT, 0); } - public qualifiers(): QualifiersContext { - return this.getTypedRuleContext(QualifiersContext, 0) as QualifiersContext; + public REPORT_CAPTION(): TerminalNode { + return this.getToken(RMFQueryParser.REPORT_CAPTION, 0); + } + public REPORT_BANNER(): TerminalNode { + return this.getToken(RMFQueryParser.REPORT_BANNER, 0); } public get ruleIndex(): number { return RMFQueryParser.RULE_query; @@ -1752,6 +1789,12 @@ export class StringUnquotedContext extends ParserRuleContext { public REPORT(): TerminalNode { return this.getToken(RMFQueryParser.REPORT, 0); } + public REPORT_CAPTION(): TerminalNode { + return this.getToken(RMFQueryParser.REPORT_CAPTION, 0); + } + public REPORT_BANNER(): TerminalNode { + return this.getToken(RMFQueryParser.REPORT_BANNER, 0); + } public WORKSCOPE(): TerminalNode { return this.getToken(RMFQueryParser.WORKSCOPE, 0); } diff --git a/grafana/rmf-app/src/datasource/query-editor/queryeditor.parser.component.tsx b/grafana/rmf-app/src/datasource/query-editor/queryeditor.parser.component.tsx index 8658ae53..82f41ad5 100644 --- a/grafana/rmf-app/src/datasource/query-editor/queryeditor.parser.component.tsx +++ b/grafana/rmf-app/src/datasource/query-editor/queryeditor.parser.component.tsx @@ -22,10 +22,8 @@ import { RadioButtonGroup, Spinner, Switch } from '@grafana/ui'; import React, { PureComponent } from 'react'; import { AutocompleteTextField } from '../autocomplete-text/autocomplete-textfield'; import { - generateUUID, getEnableTimeSeriesStatus, getResource, - getSelectedGuid, getSelectedResource, getVisualisationType, isItFirstDotPosition, @@ -51,7 +49,6 @@ type Props = QueryEditorProps; type state = RMFQuery; let metricDict: any = {}; -let rmfPanelGuid = ''; export class QueryEditorAutoCompleteComponent extends PureComponent { editorSelectedResource = ''; @@ -78,10 +75,6 @@ export class QueryEditorAutoCompleteComponent extends PureComponent = ({ fields }) => { - return ( - - {fields.map((field: V9CompatField) => { - const name = field.name.slice(BANNER_PREFIX.length); - const values = field.values.buffer || field.values || []; - return ( - - {name}: {values[0] ?? 'N/A'}     - - ); - })} - - ); -}; diff --git a/grafana/rmf-app/src/panel/captions-component/captions.component.css b/grafana/rmf-app/src/panel/captions-component/captions.component.css deleted file mode 100644 index e5694d0f..00000000 --- a/grafana/rmf-app/src/panel/captions-component/captions.component.css +++ /dev/null @@ -1,30 +0,0 @@ -/** -* (C) Copyright IBM Corp. 2023. -* (C) Copyright Rocket Software, Inc. 2023. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -.captionitem{ - border-width: 1px; - padding: 5px; - /* border: ridge; */ - width: 30%; - display: inline-block; - font-weight: 600; - margin-left: 2px; - margin-bottom: 3px; -} - -.captionitemname{ - color: #33a2e5; -} diff --git a/grafana/rmf-app/src/panel/captions-component/captions.component.tsx b/grafana/rmf-app/src/panel/captions-component/captions.component.tsx deleted file mode 100644 index de805b5f..00000000 --- a/grafana/rmf-app/src/panel/captions-component/captions.component.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023. - * (C) Copyright Rocket Software, Inc. 2023. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { CAPTION_PREFIX, FieldProps } from '../types'; -require('./captions.component.css'); - - -export const CaptionsComponent: React.FC = ({ fields }) => { - return ( - - { - fields.map((field: any) => { - const name = field.name.slice(CAPTION_PREFIX.length) - const values = field.values.buffer || field.values || []; - return ( -
- { name } : { values[0] ?? 'N/A'} -
- ); - }) - } -
- ); -}; diff --git a/grafana/rmf-app/src/panel/img/logo.svg b/grafana/rmf-app/src/panel/img/logo.svg deleted file mode 100644 index d713bc3e..00000000 --- a/grafana/rmf-app/src/panel/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/grafana/rmf-app/src/panel/main.component.tsx b/grafana/rmf-app/src/panel/main.component.tsx deleted file mode 100644 index 6cfb657a..00000000 --- a/grafana/rmf-app/src/panel/main.component.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023. - * (C) Copyright Rocket Software, Inc. 2023. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { PanelProps } from '@grafana/data'; -import { TableComponent } from './table-component/table.component'; - -interface Props extends PanelProps<{}> {} - -export const MainComponent: React.FC = (props) => { - return ( -
- -
- ); -}; diff --git a/grafana/rmf-app/src/panel/module.test.ts b/grafana/rmf-app/src/panel/module.test.ts deleted file mode 100644 index 66e99edf..00000000 --- a/grafana/rmf-app/src/panel/module.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023. - * (C) Copyright Rocket Software, Inc. 2023. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -// Just a stub test -describe('placeholder test', () => { - it('should return true', () => { - expect(true).toBeTruthy(); - }); -}); diff --git a/grafana/rmf-app/src/panel/module.ts b/grafana/rmf-app/src/panel/module.ts deleted file mode 100644 index 551b5870..00000000 --- a/grafana/rmf-app/src/panel/module.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023. - * (C) Copyright Rocket Software, Inc. 2023. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { PanelPlugin } from '@grafana/data'; -import { displayModes } from './types'; -import { MainComponent } from './main.component'; - -export const plugin = new PanelPlugin<{}>(MainComponent) - .setPanelOptions((builder) => { - return builder; - }) - .useFieldConfig({ - useCustomConfig: (builder) => { - return builder - .addSelect({ - path: 'cellOptions', - name: 'Cell Type', - description: 'Color text, background, show as gauge, etc', - settings: { - // @ts-ignore - options: displayModes - }, - defaultValue: 'Auto' - }) - .addBooleanSwitch({ - path: 'enablePagination', - name: 'Enable pagination', - description: '', - defaultValue: false, - }) - .addBooleanSwitch({ - path: 'filterable', - name: 'Column filter', - description: 'Enables/disables field filters in table', - defaultValue: false, - }); - }, - }); diff --git a/grafana/rmf-app/src/panel/plugin.json b/grafana/rmf-app/src/panel/plugin.json deleted file mode 100644 index e4cbf296..00000000 --- a/grafana/rmf-app/src/panel/plugin.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/grafana/grafana/master/docs/sources/developers/plugins/plugin.schema.json", - "type": "panel", - "name": "Report for IBM RMF for z/OS", - "id": "ibm-rmf-panel", - - "info": { - "description": "Report for IBM RMF for z/OS", - "author": { - "name": "IBM" - }, - "keywords": ["panel", "template"], - "logos": { - "small": "img/logo.svg", - "large": "img/logo.svg" - }, - "links": [ - { "name": "Website", "url": "https://www.ibm.com/docs/en/zos/2.5.0?topic=zos-rmf" }, - { "name": "License", "url": "https://www.ibm.com/docs/en/zos/2.5.0?topic=zos-rmf" } - ], - "screenshots": [], - "version": "%VERSION%", - "updated": "%TODAY%" - }, - - "dependencies": { - "grafanaDependency": ">=10.0", - "plugins": [] - } -} diff --git a/grafana/rmf-app/src/panel/table-component/table.component.css b/grafana/rmf-app/src/panel/table-component/table.component.css deleted file mode 100644 index e2d21b1b..00000000 --- a/grafana/rmf-app/src/panel/table-component/table.component.css +++ /dev/null @@ -1,45 +0,0 @@ -/** -* (C) Copyright IBM Corp. 2023. -* (C) Copyright Rocket Software, Inc. 2023. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -/* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -:root { - --rmf-table-width: 100px; -} - -.caption-section { - width: 100%; - max-height: 110px; - overflow: auto; -} - -.banner-section { - padding: 3px 10px 15px 10px; - width: 100%; -} - -.panel-content { - overflow: auto; -} - -.panel-table-container { - padding-top: 10px; - width: -webkit-fill-available; - height: -webkit-fill-available; - position: absolute; -} - -.nodata-label { - padding-left: 10px; -} diff --git a/grafana/rmf-app/src/panel/table-component/table.component.tsx b/grafana/rmf-app/src/panel/table-component/table.component.tsx deleted file mode 100644 index 8d91426a..00000000 --- a/grafana/rmf-app/src/panel/table-component/table.component.tsx +++ /dev/null @@ -1,79 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023, 2024. - * (C) Copyright Rocket Software, Inc. 2023-2024. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Table } from '@grafana/ui'; -import React, { useRef } from 'react'; -import { BannerComponent } from '../banner-component/banner.component'; -import { CaptionsComponent } from '../captions-component/captions.component'; -import { - InitFrameData, - applySelectedDefaultsAndOverrides, - getPaginationFlagFromFieldConfig, -} from './table.helper'; -import {PanelProps} from "@grafana/data"; -require('./table.component.css'); - -interface Props extends PanelProps<{}> { } - -export const TableComponent: React.FC = ({ options, fieldConfig, data, width, height }) => { - let frameData = InitFrameData(data); - - const reportData = applySelectedDefaultsAndOverrides(options, fieldConfig, frameData); - const tableData = reportData.tableData - const captionData = reportData.captionFields - const enablePagination: boolean = getPaginationFlagFromFieldConfig(fieldConfig); - - // Setting the scroll properties - let divBannerRef = useRef(null); - let divCaptionRef = useRef(null); - let actTableHeight = height - (divBannerRef?.current?.offsetHeight ? divBannerRef?.current?.offsetHeight : 38); - if (captionData && captionData.length > 0 && captionData.length > 6) { - actTableHeight = actTableHeight - (divCaptionRef?.current?.offsetHeight ? divCaptionRef?.current?.offsetHeight : 110); - } else if (captionData && captionData.length > 0 && captionData.length > 3) { - actTableHeight = actTableHeight - (divCaptionRef?.current?.offsetHeight ? divCaptionRef?.current?.offsetHeight : 76); - } else { - actTableHeight = actTableHeight - (divCaptionRef?.current?.offsetHeight ? divCaptionRef?.current?.offsetHeight : 38); - } - - - return ( -
-
- -
- {reportData.captionFields.length > 0 ? ( -
- -
- ) : ( - '' - )} -
- {( tableData && tableData.length > 0 && tableData.fields && tableData.fields.length > 0) ? ( - - ) : ( -
No Data
- )} - - - ); -}; diff --git a/grafana/rmf-app/src/panel/table-component/table.helper.ts b/grafana/rmf-app/src/panel/table-component/table.helper.ts deleted file mode 100644 index f8e0c45f..00000000 --- a/grafana/rmf-app/src/panel/table-component/table.helper.ts +++ /dev/null @@ -1,225 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023, 2024. - * (C) Copyright Rocket Software, Inc. 2023-2024. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { - applyFieldOverrides, - applyRawFieldOverrides, - ConfigOverrideRule, - DataFrame, - Field, - FieldColor, - FieldConfigSource, - PanelData, - ThresholdsConfig, - ValueLinkConfig, - LinkModel, -} from '@grafana/data'; -import { config } from '@grafana/runtime'; -import { TableFieldOptions } from '@grafana/ui'; -import { defaultThresholds, CAPTION_PREFIX, BANNER_PREFIX, ReportData } from '../types'; - -export const InitFrameData = (data: PanelData): DataFrame[] => { - let frameData: DataFrame[] = [ - { - fields: [], - length: 0, - }, - ]; - - if ( - data !== undefined && - data.series !== undefined && - data.series.length > 0 && - data.series[0].fields !== undefined - ) { - frameData = [ - { - fields: data.series[0].fields, - length: data.series[0].fields[0].values.length, - } as DataFrame, - ] as DataFrame[]; - } - - return frameData; -}; -export const applyNearestPercentage = (field: Field, maxVal: number): Field => { - if (field.type === 'number') { - field.config.min = 0; - (field.state as any).range.min = 0; - field.config.max = maxVal; - (field.state as any).range.max = field.config.max; - } - return field; -}; - -export const applySelectedDefaultsAndOverrides = ( - options: any, - fieldConfig: FieldConfigSource, - data: DataFrame[] -): ReportData => { - // FIXME: send banner, captions and table data in different frames. - let result = applyRawFieldOverrides(data); - let bannerFields: Field[] = []; - let captionFields: Field[] = []; - let tableFields: Field[] = []; - - let targetArray: Field[]; - let sliceStart: number; - let sliceEnd: number | undefined; - - for (let i = 0; i < result[0].fields.length; i++) { - let field = result[0].fields[i]; - if (field.name.startsWith(BANNER_PREFIX)) { - targetArray = bannerFields; - sliceStart = 0; - sliceEnd = 1; - } else if (field.name.startsWith(CAPTION_PREFIX)) { - targetArray = captionFields; - sliceStart = 0; - sliceEnd = 1; - } else { - targetArray = tableFields; - sliceStart = 1; - sliceEnd = undefined; - } - field.values = field.values.slice(sliceStart, sliceEnd); - - let newField : Field = {...field}; - if (field.getLinks) { - newField.getLinks = (config: ValueLinkConfig): Array> => { - if (config.valueRowIndex) { - config.valueRowIndex += 1; - } else { - config.valueRowIndex = 1; - } - if (field.getLinks) { - return field.getLinks(config); - } - return {} as Array>; - }; - } - for (let k = 0; k < newField.values.length; k++) { - if (newField.values[k] === null) { - newField.values[k] = ""; - } - } - targetArray.push(newField); - } - let dataFrame : DataFrame = {} as DataFrame; - dataFrame.fields = tableFields; - dataFrame.length = result[0].length - 1; - - // First apply default settings - result[0].fields.map((field: Field) => { - if (fieldConfig.defaults.thresholds !== undefined) { - field.config.thresholds = fieldConfig.defaults.thresholds; - } - if (field.config.thresholds === undefined) { - field.config = { ...field.config, ...{ thresholds: defaultThresholds } }; - } - field.config.custom = { - align: 'auto', - filterable: fieldConfig.defaults.custom.filterable, - cellOptions: fieldConfig.defaults.custom.cellOptions.type - ? fieldConfig.defaults.custom.cellOptions - : { type: fieldConfig.defaults.custom.cellOptions }, - } as TableFieldOptions; - }); - - // Apply overrides - if (fieldConfig.overrides && fieldConfig.overrides.length > 0) { - fieldConfig.overrides.map((ovItem: ConfigOverrideRule) => { - if (ovItem.matcher.id === 'byName') { - ovItem.properties.map((ovrProp) => { - if (ovrProp.id === 'custom.cellOptions') { - result[0].fields.map((field: Field, index: number) => { - if (field.name === ovItem.matcher.options) { - field = applyNearestPercentage(field, 100); - field.config.custom = { - cellOptions: ovrProp.value.type ? ovrProp.value : { type: ovrProp.value }, - } as TableFieldOptions; - } - }); - } - if (ovrProp.id === 'custom.filterable') { - result[0].fields.map((field: Field, index: number) => { - if (field.name === ovItem.matcher.options) { - if (field.config.custom !== undefined && field.config.custom.cellOptions !== undefined) { - field.config.custom = { - cellOptions: field.config.custom.cellOptions, - filterable: ovrProp.value, - } as TableFieldOptions; - } else { - field.config.custom = { - filterable: ovrProp.value, - } as TableFieldOptions; - } - } - }); - } - if (ovrProp.id === 'color') { - result[0].fields.map((field: Field) => { - if (field.name === ovItem.matcher.options && ovrProp && ovrProp.value && ovrProp.value.mode) { - field.config.color = { - mode: ovrProp.value.mode, - fixedColor: ovrProp.value.fixedColor, - } as FieldColor; - } - }); - } - if (ovrProp.id === 'thresholds') { - result[0].fields.map((field: Field) => { - if (field.name === ovItem.matcher.options && ovrProp && ovrProp.value && ovrProp.value.mode) { - field.config.thresholds = { - mode: ovrProp.value.mode, - steps: ovrProp.value.steps, - } as ThresholdsConfig; - } - }); - } - }); - } - }); - } - return { bannerFields: bannerFields, captionFields: captionFields, tableData: dataFrame }; -}; - -export const applyFieldOverridesForBarGauge = (finalData: DataFrame[]): DataFrame[] => { - return applyFieldOverrides({ - data: finalData, - fieldConfig: { - overrides: [], - defaults: {}, - }, - replaceVariables: (value: string) => value, - theme: config.theme2 as any, - }); -}; - -export const getPaginationFlagFromFieldConfig = (fieldConfig: FieldConfigSource): boolean => { - let result: boolean; - if ( - fieldConfig !== undefined && - fieldConfig.defaults !== undefined && - fieldConfig.defaults.custom !== undefined && - fieldConfig.defaults.custom.enablePagination !== undefined - ) { - result = fieldConfig.defaults.custom.enablePagination; - } else { - result = false; - } - return result; -}; diff --git a/grafana/rmf-app/src/panel/types.ts b/grafana/rmf-app/src/panel/types.ts deleted file mode 100644 index 7b6752cf..00000000 --- a/grafana/rmf-app/src/panel/types.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * (C) Copyright IBM Corp. 2023. - * (C) Copyright Rocket Software, Inc. 2023. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { SelectableValue, ThresholdsConfig, ThresholdsMode, Field, DataFrame } from '@grafana/data'; -import { TableCellDisplayMode } from '@grafana/ui'; - -export interface ReportData { - bannerFields: Field[]; - captionFields: Field[]; - tableData: DataFrame; -} - -export interface FieldProps { - fields: Field[]; -} - -export const BANNER_PREFIX = 'Banner::'; -export const CAPTION_PREFIX = 'Caption::'; - -export const displayModes: Array> = [ - { value: TableCellDisplayMode.Auto, label: 'Auto' }, - { value: TableCellDisplayMode.ColorText, label: 'Colored text' }, - { value: TableCellDisplayMode.ColorBackground, label: 'Colored background' }, - { value: TableCellDisplayMode.Gauge, label: 'Gauge' }, - { value: TableCellDisplayMode.JSONView, label: 'JSON View' }, - { value: TableCellDisplayMode.Image, label: 'Image' }, -]; - -export const defaultThresholds: ThresholdsConfig = { - steps: [ - { value: -Infinity, color: 'green', state: 'HighHigh' }, - { value: 70, color: 'orange', state: 'OK' }, - { value: 90, color: 'red', state: 'High' }, - ], - mode: ThresholdsMode.Absolute, -}; - -export interface TableBanner { - samples?: string; - systems?: string; - timeRange?: string; - range?: string; -} diff --git a/grafana/rmf-app/src/plugin.json b/grafana/rmf-app/src/plugin.json index 86df5903..42925972 100644 --- a/grafana/rmf-app/src/plugin.json +++ b/grafana/rmf-app/src/plugin.json @@ -10,11 +10,6 @@ "name": "IBM RMF for z/OS", "path": "datasource/plugin.json" }, - { - "type": "panel", - "name": "Report for IBM RMF for z/OS", - "path": "panel/plugin.json" - }, { "name": "Home", "path": "/a/ibm-rmf-app",