Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
osie
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
osie
Commits
735777a9
Commit
735777a9
authored
May 22, 2023
by
Ivan Tyagov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Show numbers below graphs for these notebooks.
parent
4c1771ad
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
229 additions
and
15 deletions
+229
-15
rt_analyzer/notebooks/beremiz_runtime_measurements/timestamp_notebook.ipynb
...oks/beremiz_runtime_measurements/timestamp_notebook.ipynb
+114
-7
rt_analyzer/notebooks/keep_alive_measurements/timestamp_notebook.ipynb
...otebooks/keep_alive_measurements/timestamp_notebook.ipynb
+115
-8
No files found.
rt_analyzer/notebooks/beremiz_runtime_measurements/timestamp_notebook.ipynb
View file @
735777a9
...
@@ -10,18 +10,19 @@
...
@@ -10,18 +10,19 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
11
,
"execution_count":
5
,
"id": "a19f317d",
"id": "a19f317d",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
"source": [
"source": [
"import matplotlib.pyplot as plt\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd"
"import pandas as pd\n",
"import statistics"
]
]
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
1
2,
"execution_count": 2,
"id": "b9dad676",
"id": "b9dad676",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -34,7 +35,7 @@
...
@@ -34,7 +35,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
1
3,
"execution_count": 3,
"id": "d0d49bb0",
"id": "d0d49bb0",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -49,13 +50,13 @@
...
@@ -49,13 +50,13 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
25
,
"execution_count":
4
,
"id": "16a57b80",
"id": "16a57b80",
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
"data": {
"data": {
"image/png": "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
",
"image/png": "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yMfHR0FBQYqJiVFeXl71HAAAVY4gA6BGnDlzRqtXr1ZiYqIaNmxYYn5AQIASEhK0evVqpaenO9pXrVql8+fP6+6775b0vx+9fOaZZ/TEE0/o22+/1bJly1wO/s/KytItt9yi6667Tjt27NDq1auVmZmpu+66S5KUnp6ue+65Rw888ID279+vDRs26M477yz/J9EBeAwG+wKoEdu2bVOXLl303nvv6Y477nC5XLt27RQfH69p06ZJkgYPHqygoCAlJyfr3LlzCg4O1ssvv6yEhIQS61482Pfpp5/W5s2blZqa6ljmhx9+UEREhA4cOKDc3FxFR0fr2LFjioyMrPonDaDa0SMDoEZU9G+mhIQEJScnS/rfr3h/8skneuCBByRJ+/fvV35+vvr06VOhbX3zzTdav369fH19HVObNm0kSUeOHFGnTp3Up08fdejQQcOGDdM///lPnT17thLPDoC7EGQA1IirrrpKNput3AG9o0aN0n//+19t2bJFr7/+ulq0aKGbb75ZkuTj43NJ+8zNzdWgQYO0a9cup+nQoUPq0aOH6tatq88++0yffPKJrrnmGv3jH/9Q69atdfTo0Uo/TwA1iyADoEYEBgaqf//+WrBgQamDabOysiRJQUFBGjJkiJKTk5WSkuL0K95XXXWVfHx8Knyr9h/+8Aft27dPzZs3V1RUlNNUPE7HZrOpe/fumjVrlv7zn//Iy8tL77///uU/YQA1giADoMYsWLBAhYWF6ty5s1asWKFDhw5p//79eumll5z+/7SEhAQtXbpU+/fvV3x8vKPd29tb06dP17Rp0/Taa6/pyJEj2rp1q+OOposlJibqzJkzuueee7R9+3YdOXJEqampuv/++1VYWKivvvpKs2fP1o4dO3T8+HG99957OnXqlNq2bVvtxwJA1eB3ZADUmJYtW+rrr7/W3/72Nz388MNKT09XcHCwoqOjtWjRIsdyMTExCgsLU7t27RQeHu60jSeeeEL16tXTk08+qRMnTigsLEzjxo0rdX/h4eH64osvNH36dPXr10/5+fmKjIzUgAEDVKdOHfn5+WnTpk168cUXlZOTo8jISP39739XbGxstR4HAFWHu5YAeJzc3FxdeeWVSk5O1p133unucgB4MHpkAHiMoqIi/fTTT/r73/+ugIAADR482N0lAfBwBBkAHuP48eNq0aKFmjZtqpSUFNWrx0cUgLJxaQkAABiLu5YAAICxCDIAAMBYBBkAAGAsggwAADAWQQYAABiLIAMAAIxFkAEAAMYiyAAAAGMRZAAAgLH+DxGuw4GfJV5oAAAAAElFTkSuQmCC
",
"text/plain": [
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
"<Figure size 640x480 with 1 Axes>"
]
]
...
@@ -73,6 +74,59 @@
...
@@ -73,6 +74,59 @@
"plt.show()"
"plt.show()"
]
]
},
},
{
"cell_type": "code",
"execution_count": 10,
"id": "8a57ba01",
"metadata": {},
"outputs": [],
"source": [
"timestamp_channel0_delta_list = lines\n",
"round_base=5\n",
"channel0_mean = statistics.mean(timestamp_channel0_delta_list)\n",
"channel0_median =statistics.median(timestamp_channel0_delta_list)\n",
"channel0_stdev = statistics.stdev(timestamp_channel0_delta_list)\n",
"channel0_stdev_percentile = (channel0_stdev * 100) / channel0_median\n",
"try:\n",
" channel0_mode = statistics.mode(timestamp_channel0_delta_list)\n",
"except statistics.StatisticsError:\n",
" channel0_mode = None\n",
"channel0_min = min(timestamp_channel0_delta_list)\n",
"channel0_max = max(timestamp_channel0_delta_list)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "677c0e73",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coupler0 (in milli seconds):\n",
"\tMean = 20.00316\n",
"\tMedian = 19.99182\n",
"\tMin = 12.08136\n",
"\tMax = 32.50304\n",
"\tStandart deviation = 0.78562\n",
"\tStandart deviation (%) = 3.92971\n",
"\tMode (most occurencies) = 19.8326\n"
]
}
],
"source": [
"print(\"Coupler0 (in milli seconds):\")\n",
"print(\"\\tMean = \", round(channel0_mean, round_base))\n",
"print(\"\\tMedian = \", round(channel0_median, round_base))\n",
"print(\"\\tMin = \", round(channel0_min, round_base))\n",
"print(\"\\tMax = \", round(channel0_max, round_base))\n",
"print(\"\\tStandart deviation = \", round(channel0_stdev, round_base))\n",
"print(\"\\tStandart deviation (%) = \", round(channel0_stdev_percentile, round_base))\n",
"print(\"\\tMode (most occurencies) = \", round(channel0_mode, round_base))"
]
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 16,
"execution_count": 16,
...
@@ -129,10 +183,63 @@
...
@@ -129,10 +183,63 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
null
,
"execution_count":
12
,
"id": "552fc7b3",
"id": "552fc7b3",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
"source": [
"timestamp_channel1_delta_list = lines\n",
"channel1_mean = statistics.mean(timestamp_channel1_delta_list)\n",
"channel1_median =statistics.median(timestamp_channel1_delta_list)\n",
"channel1_stdev = statistics.stdev(timestamp_channel1_delta_list)\n",
"channel1_stdev_percentile = (channel1_stdev * 100) / channel1_median\n",
"try:\n",
" channel1_mode = statistics.mode(timestamp_channel1_delta_list)\n",
"except statistics.StatisticsError:\n",
" channel1_mode = None\n",
"channel1_min = min(timestamp_channel1_delta_list)\n",
"channel1_max = max(timestamp_channel1_delta_list)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "f7a7f6bc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Coupler1 (in milli seconds):\n",
"\tMean = 20.00316\n",
"\tMedian = 19.99182\n",
"\tMin = 12.08136\n",
"\tMax = 32.50304\n",
"\tStandart deviation = 0.78562\n",
"\tStandart deviation (%) = 3.92971\n",
"\tMode (most occurencies) = 19.8326\n"
]
}
],
"source": [
"print(\"\\nCoupler1 (in milli seconds):\")\n",
"print(\"\\tMean = \", round(channel1_mean, round_base))\n",
"print(\"\\tMedian = \", round(channel1_median, round_base))\n",
"print(\"\\tMin = \", round(channel1_min, round_base))\n",
"print(\"\\tMax = \", round(channel1_max, round_base))\n",
"print(\"\\tStandart deviation = \", round(channel1_stdev, round_base))\n",
"print(\"\\tStandart deviation (%) = \", round(channel1_stdev_percentile, round_base))\n",
"print(\"\\tMode (most occurencies) = \", round(channel1_mode, round_base))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "86ad6187",
"metadata": {},
"outputs": [],
"source": []
"source": []
}
}
],
],
...
...
rt_analyzer/notebooks/keep_alive_measurements/timestamp_notebook.ipynb
View file @
735777a9
...
@@ -10,18 +10,19 @@
...
@@ -10,18 +10,19 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
1
,
"execution_count":
3
,
"id": "a19f317d",
"id": "a19f317d",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
"source": [
"source": [
"import matplotlib.pyplot as plt\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd"
"import pandas as pd\n",
"import statistics"
]
]
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
2
,
"execution_count":
4
,
"id": "b9dad676",
"id": "b9dad676",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -34,7 +35,7 @@
...
@@ -34,7 +35,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
3
,
"execution_count":
5
,
"id": "d0d49bb0",
"id": "d0d49bb0",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -49,7 +50,7 @@
...
@@ -49,7 +50,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
4
,
"execution_count":
6
,
"id": "16a57b80",
"id": "16a57b80",
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
...
@@ -75,7 +76,60 @@
...
@@ -75,7 +76,60 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 5,
"execution_count": 7,
"id": "4f6fb982",
"metadata": {},
"outputs": [],
"source": [
"timestamp_channel0_delta_list = lines\n",
"round_base=5\n",
"channel0_mean = statistics.mean(timestamp_channel0_delta_list)\n",
"channel0_median =statistics.median(timestamp_channel0_delta_list)\n",
"channel0_stdev = statistics.stdev(timestamp_channel0_delta_list)\n",
"channel0_stdev_percentile = (channel0_stdev * 100) / channel0_median\n",
"try:\n",
" channel0_mode = statistics.mode(timestamp_channel0_delta_list)\n",
"except statistics.StatisticsError:\n",
" channel0_mode = None\n",
"channel0_min = min(timestamp_channel0_delta_list)\n",
"channel0_max = max(timestamp_channel0_delta_list)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "eb6eccb1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coupler0 (in milli seconds):\n",
"\tMean = 5.01265\n",
"\tMedian = 5.2135\n",
"\tMin = 1.57323\n",
"\tMax = 36.26763\n",
"\tStandart deviation = 0.88046\n",
"\tStandart deviation (%) = 16.88809\n",
"\tMode (most occurencies) = 5.09803\n"
]
}
],
"source": [
"print(\"Coupler0 (in milli seconds):\")\n",
"print(\"\\tMean = \", round(channel0_mean, round_base))\n",
"print(\"\\tMedian = \", round(channel0_median, round_base))\n",
"print(\"\\tMin = \", round(channel0_min, round_base))\n",
"print(\"\\tMax = \", round(channel0_max, round_base))\n",
"print(\"\\tStandart deviation = \", round(channel0_stdev, round_base))\n",
"print(\"\\tStandart deviation (%) = \", round(channel0_stdev_percentile, round_base))\n",
"print(\"\\tMode (most occurencies) = \", round(channel0_mode, round_base))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "1b5ee5ae",
"id": "1b5ee5ae",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -88,7 +142,7 @@
...
@@ -88,7 +142,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
6
,
"execution_count":
10
,
"id": "18f16b77",
"id": "18f16b77",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
...
@@ -118,10 +172,63 @@
...
@@ -118,10 +172,63 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count":
null
,
"execution_count":
11
,
"id": "552fc7b3",
"id": "552fc7b3",
"metadata": {},
"metadata": {},
"outputs": [],
"outputs": [],
"source": [
"timestamp_channel1_delta_list = lines\n",
"channel1_mean = statistics.mean(timestamp_channel1_delta_list)\n",
"channel1_median =statistics.median(timestamp_channel1_delta_list)\n",
"channel1_stdev = statistics.stdev(timestamp_channel1_delta_list)\n",
"channel1_stdev_percentile = (channel1_stdev * 100) / channel1_median\n",
"try:\n",
" channel1_mode = statistics.mode(timestamp_channel1_delta_list)\n",
"except statistics.StatisticsError:\n",
" channel1_mode = None\n",
"channel1_min = min(timestamp_channel1_delta_list)\n",
"channel1_max = max(timestamp_channel1_delta_list)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "d6673dd1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Coupler1 (in milli seconds):\n",
"\tMean = 5.03696\n",
"\tMedian = 5.34774\n",
"\tMin = 1.76327\n",
"\tMax = 91.09253\n",
"\tStandart deviation = 1.05025\n",
"\tStandart deviation (%) = 19.63915\n",
"\tMode (most occurencies) = 4.07077\n"
]
}
],
"source": [
"print(\"\\nCoupler1 (in milli seconds):\")\n",
"print(\"\\tMean = \", round(channel1_mean, round_base))\n",
"print(\"\\tMedian = \", round(channel1_median, round_base))\n",
"print(\"\\tMin = \", round(channel1_min, round_base))\n",
"print(\"\\tMax = \", round(channel1_max, round_base))\n",
"print(\"\\tStandart deviation = \", round(channel1_stdev, round_base))\n",
"print(\"\\tStandart deviation (%) = \", round(channel1_stdev_percentile, round_base))\n",
"print(\"\\tMode (most occurencies) = \", round(channel1_mode, round_base))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "214c6aee",
"metadata": {},
"outputs": [],
"source": []
"source": []
}
}
],
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment