github.com/verrazzano/verrazzano@v1.7.1/ci/scripts/oci_metric_emit.sh (about)

     1  #!/usr/bin/env bash
     2  #
     3  # Copyright (c) 2021, Oracle and/or its affiliates.
     4  # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     5  #
     6  WORK_DIR=$(cd $(dirname "$0"); pwd -P)
     7  TMP_DIR=$(mktemp -d)
     8  OC_TELEMETRY_URL=$1
     9  COMPARTMENT=$2
    10  NAMESPACE=$3
    11  JOB=$4
    12  # BRANCH=$(echo $5 | sed -e "s/\//\\\\\//g")
    13  BRANCH=$5
    14  # LABELS=$5
    15  LABELS=$(echo $6 | tr -d \')
    16  LABELS="${LABELS},\"job\":\"${JOB}\",\"branch\":\"${BRANCH}\""
    17  LABELS=$(echo "${LABELS}" | tr '=' ':')
    18  STATUS=$7
    19  DURATION=$8
    20  TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
    21  
    22  cat <<EOF>>${TMP_DIR}/oci_metric_data.json
    23  {
    24      "metricData": [
    25          {
    26              "namespace": "${NAMESPACE}",
    27              "name": "${JOB}.status",
    28              "compartmentId": "${COMPARTMENT}",
    29              "dimensions": {
    30                  ${LABELS}
    31              },
    32              "metadata": {
    33                  "unit": "boolean"
    34              },
    35              "datapoints": [
    36                  {
    37                      "timestamp": "${TIMESTAMP}",
    38                      "value": ${STATUS}
    39                  }
    40              ]
    41          },
    42          {
    43              "namespace": "${NAMESPACE}",
    44              "name": "${JOB}.duration",
    45              "compartmentId": "${COMPARTMENT}",
    46              "dimensions": {
    47                  ${LABELS}
    48              },
    49              "metadata": {
    50                  "unit": "second"
    51              },
    52              "datapoints": [
    53                  {
    54                      "timestamp": "${TIMESTAMP}",
    55                      "value": ${DURATION}
    56                  }
    57              ]
    58          }
    59      ]
    60  }
    61  EOF
    62  # cat ${TMP_DIR}/oci_metric_data.json
    63  oci monitoring metric-data post --from-json file://${TMP_DIR}/oci_metric_data.json --endpoint "${OC_TELEMETRY_URL}"