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}"