Refactor environment mapping

to be not duplicated 12 times.
This commit is contained in:
Maximilian Paß
2022-11-09 22:28:54 +00:00
parent 77d3f3388e
commit 37ee649675
18 changed files with 34 additions and 197 deletions

View File

@@ -0,0 +1,14 @@
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -10,18 +10,3 @@ result = from(bucket: "poseidon/autogen")
|> keep(columns: ["_time", "_value", "environment_id", "stage"])
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> map(fn: (r) => ({r with _value: r._value * 3.0})) // Each execution has three requests
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -11,18 +11,3 @@ result = from(bucket: "poseidon/autogen")
|> group(columns: ["environment_id", "stage"])
|> mean()
|> map(fn: (r) => ({r with _value: r._value * 3.0})) // Each execution has three requests
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -10,18 +10,3 @@ result = from(bucket: "poseidon/autogen")
|> group(columns: ["environment_id", "stage"], mode:"by")
|> aggregateWindow(every: 1m, fn: count, createEmpty: true)
|> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 5), fn: mean, createEmpty: true)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -1,7 +1,7 @@
import "date"
import "strings"
data = from(bucket: "poseidon/autogen")
result = from(bucket: "poseidon/autogen")
|> range(start: date.truncate(t: v.timeRangeStart, unit: 1m), stop: date.truncate(t: v.timeRangeStop, unit: 1m))
|> filter(fn: (r) => r["_measurement"] == "poseidon_aws_executions" or r["_measurement"] == "poseidon_nomad_executions")
|> filter(fn: (r) => contains(value: r["environment_id"], set: ${environment_ids:json}))
@@ -11,18 +11,3 @@ data = from(bucket: "poseidon/autogen")
|> aggregateWindow(every: 1m, fn: count, createEmpty: true)
|> keep(columns: ["_value", "environment_id", "stage"])
|> mean()
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: data, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -20,18 +20,3 @@ executions = data
result = join(tables: {key1: executions, key2: runner_deletions}, on: ["runner_id"], method: "inner")
|> keep(columns: ["_value", "_time", "environment_id", "stage"])
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -20,18 +20,3 @@ executions = data
result = join(tables: {key1: executions, key2: runner_deletions}, on: ["runner_id"], method: "inner")
|> keep(columns: ["_value", "environment_id", "stage"])
|> mean()
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -8,18 +8,3 @@ result = from(bucket: "poseidon/autogen")
|> filter(fn: (r) => (not exists r.stage) or contains(value: r["stage"], set: ${stages:json}))
|> keep(columns: ["_value", "_time", "environment_id", "stage"])
|> aggregateWindow(every: myWindowPeriod, fn: min, createEmpty: false)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -9,18 +9,3 @@ result = from(bucket: "poseidon/autogen")
|> group(columns: ["environment_id", "stage"], mode:"by")
|> count()
|> keep(columns: ["_value", "environment_id", "stage"])
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["isDeletion"] == "false")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -8,18 +8,3 @@ result = from(bucket: "poseidon/autogen")
|> group(columns: ["environment_id", "stage"], mode:"by")
|> last()
|> keep(columns: ["_value", "environment_id", "stage"])
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -8,18 +8,3 @@ result = from(bucket: "poseidon/autogen")
|> filter(fn: (r) => (not exists r.stage) or contains(value: r["stage"], set: ${stages:json}))
|> keep(columns: ["_time", "_value", "environment_id", "stage"])
|> aggregateWindow(every: myWindowPeriod, fn: mean, createEmpty: false)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -12,18 +12,3 @@ result = from(bucket: "poseidon/autogen")
|> aggregateWindow(every: 1m, fn: count, createEmpty: true)
|> keep(columns: ["_value", "_time", "environment_id", "stage"])
|> aggregateWindow(every: myWindowPeriod, fn: mean, createEmpty: true)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})

View File

@@ -8,18 +8,3 @@ result = from(bucket: "poseidon/autogen")
|> filter(fn: (r) => (not exists r.stage) or contains(value: r["stage"], set: ${stages:json}))
|> keep(columns: ["_value", "_time", "environment_id", "stage"])
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
envMapping = from(bucket: "poseidon/autogen")
|> range(start: -1y)
|> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> filter(fn: (r) => r["event_type"] == "creation")
|> group(columns: ["id", "stage"], mode:"by")
|> last()
|> keep(columns: ["id", "image", "stage"])
|> rename(columns: {id: "environment_id"})
|> map(fn: (r) => ({ r with image: strings.substring(v: r.stage, start: 0, end: 1) + r.environment_id + "/" + strings.trimPrefix(v: r.image, prefix: "openhpi/co_execenv_")}))
join(tables: {key1: result, key2: envMapping}, on: ["environment_id", "stage"], method: "inner")
|> keep(columns: ["_value", "image", "_time"])
|> group(columns: ["image"], mode: "by")
|> rename(columns: {_value: ""})