Skip to content

Instantly share code, notes, and snippets.

@eugene-babichenko
Last active January 30, 2019 08:12
Show Gist options
  • Save eugene-babichenko/990bfc1bb7d5455a931d3e6348fc2cf0 to your computer and use it in GitHub Desktop.
Save eugene-babichenko/990bfc1bb7d5455a931d3e6348fc2cf0 to your computer and use it in GitHub Desktop.
An example of using Pandas and matplotlib (wrapped with Seaborn) along with the InfluxDB driver to analyze metrics.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from influxdb import DataFrameClient"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>execution_time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2019-01-28 13:53:36+00:00</th>\n",
" <td>0.068487</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:37+00:00</th>\n",
" <td>0.038496</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:38+00:00</th>\n",
" <td>0.046373</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:39+00:00</th>\n",
" <td>0.045999</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:40+00:00</th>\n",
" <td>0.046065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:41+00:00</th>\n",
" <td>0.084660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:42+00:00</th>\n",
" <td>0.095763</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:43+00:00</th>\n",
" <td>0.031759</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:44+00:00</th>\n",
" <td>0.053324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:45+00:00</th>\n",
" <td>0.057912</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:46+00:00</th>\n",
" <td>0.055023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:47+00:00</th>\n",
" <td>0.053725</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:48+00:00</th>\n",
" <td>0.037835</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:49+00:00</th>\n",
" <td>0.043073</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:50+00:00</th>\n",
" <td>0.060316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:51+00:00</th>\n",
" <td>0.058737</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:52+00:00</th>\n",
" <td>0.078269</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:53+00:00</th>\n",
" <td>0.082140</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:54+00:00</th>\n",
" <td>0.075046</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:55+00:00</th>\n",
" <td>0.129016</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:56+00:00</th>\n",
" <td>0.104787</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:57+00:00</th>\n",
" <td>0.054536</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:58+00:00</th>\n",
" <td>0.069569</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:53:59+00:00</th>\n",
" <td>0.102574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:00+00:00</th>\n",
" <td>0.035740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:01+00:00</th>\n",
" <td>0.067692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:06+00:00</th>\n",
" <td>0.046801</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:07+00:00</th>\n",
" <td>0.034261</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:08+00:00</th>\n",
" <td>0.039742</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:54:11+00:00</th>\n",
" <td>0.038715</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:01+00:00</th>\n",
" <td>0.044600</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:02+00:00</th>\n",
" <td>0.031013</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:03+00:00</th>\n",
" <td>0.043181</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:04+00:00</th>\n",
" <td>0.064776</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:05+00:00</th>\n",
" <td>0.117261</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:06+00:00</th>\n",
" <td>0.032835</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:07+00:00</th>\n",
" <td>0.126282</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:08+00:00</th>\n",
" <td>0.064542</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:09+00:00</th>\n",
" <td>0.082578</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:10+00:00</th>\n",
" <td>0.051335</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:11+00:00</th>\n",
" <td>0.207227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:12+00:00</th>\n",
" <td>0.042652</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:13+00:00</th>\n",
" <td>0.040765</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:14+00:00</th>\n",
" <td>0.036982</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:15+00:00</th>\n",
" <td>0.043591</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:16+00:00</th>\n",
" <td>0.062337</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:17+00:00</th>\n",
" <td>0.080375</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:18+00:00</th>\n",
" <td>0.129433</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:22+00:00</th>\n",
" <td>0.053418</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:26+00:00</th>\n",
" <td>0.043429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:27+00:00</th>\n",
" <td>0.028621</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:28+00:00</th>\n",
" <td>0.036272</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:29+00:00</th>\n",
" <td>0.051198</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:30+00:00</th>\n",
" <td>0.104217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:31+00:00</th>\n",
" <td>0.061664</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:32+00:00</th>\n",
" <td>0.164593</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:33+00:00</th>\n",
" <td>0.072631</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:34+00:00</th>\n",
" <td>0.050862</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:36+00:00</th>\n",
" <td>0.029582</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-28 13:55:37+00:00</th>\n",
" <td>0.034721</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>101 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" execution_time\n",
"2019-01-28 13:53:36+00:00 0.068487\n",
"2019-01-28 13:53:37+00:00 0.038496\n",
"2019-01-28 13:53:38+00:00 0.046373\n",
"2019-01-28 13:53:39+00:00 0.045999\n",
"2019-01-28 13:53:40+00:00 0.046065\n",
"2019-01-28 13:53:41+00:00 0.084660\n",
"2019-01-28 13:53:42+00:00 0.095763\n",
"2019-01-28 13:53:43+00:00 0.031759\n",
"2019-01-28 13:53:44+00:00 0.053324\n",
"2019-01-28 13:53:45+00:00 0.057912\n",
"2019-01-28 13:53:46+00:00 0.055023\n",
"2019-01-28 13:53:47+00:00 0.053725\n",
"2019-01-28 13:53:48+00:00 0.037835\n",
"2019-01-28 13:53:49+00:00 0.043073\n",
"2019-01-28 13:53:50+00:00 0.060316\n",
"2019-01-28 13:53:51+00:00 0.058737\n",
"2019-01-28 13:53:52+00:00 0.078269\n",
"2019-01-28 13:53:53+00:00 0.082140\n",
"2019-01-28 13:53:54+00:00 0.075046\n",
"2019-01-28 13:53:55+00:00 0.129016\n",
"2019-01-28 13:53:56+00:00 0.104787\n",
"2019-01-28 13:53:57+00:00 0.054536\n",
"2019-01-28 13:53:58+00:00 0.069569\n",
"2019-01-28 13:53:59+00:00 0.102574\n",
"2019-01-28 13:54:00+00:00 0.035740\n",
"2019-01-28 13:54:01+00:00 0.067692\n",
"2019-01-28 13:54:06+00:00 0.046801\n",
"2019-01-28 13:54:07+00:00 0.034261\n",
"2019-01-28 13:54:08+00:00 0.039742\n",
"2019-01-28 13:54:11+00:00 0.038715\n",
"... ...\n",
"2019-01-28 13:55:01+00:00 0.044600\n",
"2019-01-28 13:55:02+00:00 0.031013\n",
"2019-01-28 13:55:03+00:00 0.043181\n",
"2019-01-28 13:55:04+00:00 0.064776\n",
"2019-01-28 13:55:05+00:00 0.117261\n",
"2019-01-28 13:55:06+00:00 0.032835\n",
"2019-01-28 13:55:07+00:00 0.126282\n",
"2019-01-28 13:55:08+00:00 0.064542\n",
"2019-01-28 13:55:09+00:00 0.082578\n",
"2019-01-28 13:55:10+00:00 0.051335\n",
"2019-01-28 13:55:11+00:00 0.207227\n",
"2019-01-28 13:55:12+00:00 0.042652\n",
"2019-01-28 13:55:13+00:00 0.040765\n",
"2019-01-28 13:55:14+00:00 0.036982\n",
"2019-01-28 13:55:15+00:00 0.043591\n",
"2019-01-28 13:55:16+00:00 0.062337\n",
"2019-01-28 13:55:17+00:00 0.080375\n",
"2019-01-28 13:55:18+00:00 0.129433\n",
"2019-01-28 13:55:22+00:00 0.053418\n",
"2019-01-28 13:55:26+00:00 0.043429\n",
"2019-01-28 13:55:27+00:00 0.028621\n",
"2019-01-28 13:55:28+00:00 0.036272\n",
"2019-01-28 13:55:29+00:00 0.051198\n",
"2019-01-28 13:55:30+00:00 0.104217\n",
"2019-01-28 13:55:31+00:00 0.061664\n",
"2019-01-28 13:55:32+00:00 0.164593\n",
"2019-01-28 13:55:33+00:00 0.072631\n",
"2019-01-28 13:55:34+00:00 0.050862\n",
"2019-01-28 13:55:36+00:00 0.029582\n",
"2019-01-28 13:55:37+00:00 0.034721\n",
"\n",
"[101 rows x 1 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"client = DataFrameClient('localhost', 8086, 'lrdata', '12345678', 'lrdata')\n",
"res = client.query('select \"execution_time\" from \"rpc_api.register\"')\n",
"# A dict of metrics is returns\n",
"res = res['rpc_api.register']\n",
"res"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"execution_time 0.050034\n",
"dtype: float64"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"res.median()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"execution_time 0.059769\n",
"dtype: float64"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"res.mean()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import seaborn\n",
"# We will use to control plotting in this notebook\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/site-packages/scipy/stats/stats.py:1633: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"image/png": "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\nPw5zSKuCbWlyAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11221a160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"seaborn.distplot(res)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n0lac8gAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11221ab38>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"res['time'] = res.index\n",
"seaborn.lineplot(x='time', y='execution_time', data=res)\n",
"plt.xticks(rotation=30)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/site-packages/scipy/stats/stats.py:1633: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114375c50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"seaborn.distplot(res['execution_time'], hist=False, kde_kws=dict(cumulative=True))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment