|
57 | 57 | " .interval(period=timedelta(seconds=auto_refresh)) \\\n",
|
58 | 58 | " .pipe(ops.map(lambda start: f'from(bucket: \"my-bucket\") '\n",
|
59 | 59 | " f'|> range(start: -{auto_refresh}s, stop: now()) '\n",
|
60 |
| - " f'|> filter(fn: (r) => r._measurement == \"cpu\") '\n", |
61 |
| - " f'|> filter(fn: (r) => r._field == \"usage_user\") '\n", |
62 |
| - " f'|> filter(fn: (r) => r.cpu == \"cpu-total\")')) \\\n", |
| 60 | + " f'|> filter(fn: (r) => (r._measurement == \"cpu\") or (r._measurement == \"mem\")) ')) \\\n", |
63 | 61 | " .pipe(ops.map(lambda query: client.query_api().query_stream(query))) \\\n",
|
64 | 62 | " .pipe(ops.flat_map(lambda records: rx.from_iterable(records))) \\\n",
|
65 | 63 | " .subscribe(observer=lambda record: sink.emit(record), on_error=lambda error: print(error))\n",
|
|
84 | 82 | "metadata": {},
|
85 | 83 | "outputs": [],
|
86 | 84 | "source": [
|
87 |
| - "example = pd.DataFrame({'value': []}, columns=['value'])\n", |
| 85 | + "cpu_example = pd.DataFrame({'value': []}, columns=['value'])\n", |
88 | 86 | "\n",
|
89 | 87 | "cpu_sink = sink\\\n",
|
90 | 88 | " .filter(lambda record: (record[\"_measurement\"] == \"cpu\") & (record[\"_field\"] == \"usage_user\"))\\\n",
|
91 | 89 | " .map(lambda record: pd.DataFrame({'value': [record[\"_value\"]]}, columns=['value'], index=[record[\"_time\"]]))\n",
|
92 |
| - "cpu = DataFrame(cpu_sink, example=example)" |
| 90 | + "cpu = DataFrame(cpu_sink, example=cpu_example)" |
| 91 | + ] |
| 92 | + }, |
| 93 | + { |
| 94 | + "cell_type": "code", |
| 95 | + "execution_count": null, |
| 96 | + "metadata": {}, |
| 97 | + "outputs": [], |
| 98 | + "source": [ |
| 99 | + "mem_example = pd.DataFrame({'field': [], 'value': []}, columns=['field', 'value'])\n", |
| 100 | + "\n", |
| 101 | + "mem_sink = sink \\\n", |
| 102 | + " .filter(lambda record: record[\"_measurement\"] == \"mem\") \\\n", |
| 103 | + " .filter(lambda record: record[\"_field\"] in [\"total\", \"used\", \"free\", \"available\"]) \\\n", |
| 104 | + " .map(lambda record: pd.DataFrame({'field': record[\"_field\"], 'value': record[\"_value\"]},\n", |
| 105 | + " columns=['field', 'value'], index=[record[\"_time\"], record[\"_field\"]]))\n", |
| 106 | + "mem = DataFrame(mem_sink, example=mem_example)" |
93 | 107 | ]
|
94 | 108 | },
|
95 | 109 | {
|
|
119 | 133 | "cpu.hvplot(width=700, backlog=50, title='CPU % usage', xlabel='Time', ylabel='%', xformatter=formatter)"
|
120 | 134 | ]
|
121 | 135 | },
|
| 136 | + { |
| 137 | + "cell_type": "code", |
| 138 | + "execution_count": null, |
| 139 | + "metadata": {}, |
| 140 | + "outputs": [], |
| 141 | + "source": [ |
| 142 | + " mem.groupby('field').sum().hvplot.bar()" |
| 143 | + ] |
| 144 | + }, |
122 | 145 | {
|
123 | 146 | "cell_type": "code",
|
124 | 147 | "execution_count": null,
|
|
0 commit comments