Skip to content

Instantly share code, notes, and snippets.

@bjackman
Created September 13, 2017 10:15
Show Gist options
  • Save bjackman/11767d871be62be649955c76c3d78783 to your computer and use it in GitHub Desktop.
Save bjackman/11767d871be62be649955c76c3d78783 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from env import TestEnv\n",
"from executor import Executor\n",
"from wlgen import RTA, Step\n",
"from trace import Trace\n",
"from trappy.plotter import plot_trace\n",
"%matplotlib inline\n",
"from trappy import ILinePlot\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from conf import LisaLogging\n",
"# LisaLogging.setup()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"EVENTS = ['sched_switch', 'sched_load_avg_cpu', 'sched_load_avg_task']"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"No handlers could be found for logger \"EnergyMeter\"\n"
]
}
],
"source": [
"te = TestEnv(test_conf={\n",
" 'ftrace': {\n",
" 'events': ['sched*', 'power*']\n",
" }\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'4.4.87-02277-gfb28ac8\\r\\n'"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"te.target.execute('uname -r')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'wl_00'"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wl = RTA(te.target, 'wl', calibration=te.calibration())\n",
"wl.conf('profile', params={'t1': Step(end_pct=80, period_ms=2, loops=2).get()})"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"trace_path = wl.run(te.ftrace)\n",
"# path = '/home/brendan/sources/wa-stuff/wa_output.4.13.0-rc7-00079-ga50deb1/idle_juno_schedutil_1_1/trace.dat'\n",
"trace = Trace(te.platform, trace_path, EVENTS, normalize_time=True)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f9a4a5e0c90>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9a4a679ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"util_df = trace.data_frame.trace_event('sched_load_avg_cpu').pivot(columns='cpu').util_avg.ffill()\n",
"util_df.plot()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0, 3, 4, 5], [1, 2]]\n"
]
}
],
"source": [
"groups_die = te.topology.get_level('cluster')\n",
"print groups_die"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f9a580e9b10>"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEPCAYAAABMTw/iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl8VNX5/99PFrIQAmERFBAQlSIVEMVdmmqtFH/Vqt+6\nVkvRat2oX+u+AS5ftYtb9Vtri4pWsRW14tJWrcavaF0KAhaUTQwQ1pCQbbLMZM7vj5nEISSZmXvv\n3Htn8rxfr7wyc+4595w7yXzuc5/znOeIMQZFURQlc8nyegCKoihKalGhVxRFyXBU6BVFUTIcFXpF\nUZQMR4VeURQlw1GhVxRFyXDiCr2IzBWRbSKyvEP5lSLyuYh8JiL3xJTfKCJrose+G1M+VUS+EJHV\nInK9s5ehKIqidIXEi6MXkWOBeuApY8z4aFkpcBMwzRgTEpGBxphKERkLPAtMBoYBbwEHAAKsBk4A\nNgOfAGcbY75IyVUpiqIo7eTEq2CMWSQiIzoUXwrcY4wJRetURstPBZ6Lln8lImuAw4kI/RpjTDmA\niDwXratCryiKkmKs+ugPBKaIyIci8o6IHBotHwpsjKlXES3rWL4pWqYoiqKkmLgWfTftSowxR4rI\nZOB5YD/nhqUoiqI4hVWh3wi8CGCM+UREWkVkABELft+YesOiZdJF+R6IiCbfURRFsYAxRjorT9R1\nI9GfNv4KHA8gIgcCvYwxO4GFwFki0ktERgH7Ax8TmXzdX0RGiEgv4Oxo3a4Gm1E/s2bN8nwMek09\n63oy8Zoy7XqcvqbuiGvRi8izQCkwQEQ2ALOAx4EnROQzoBm4ICrQK0XkL8BKIAhcZiIjaBWRK4A3\niNxc5hpjPo/Xt6IoimKfRKJuzu3i0Pld1L8buLuT8r8DY5IanaIoimIbXRnrAqWlpV4PwXEy7Zoy\n7Xog864p064H3LumuAum3EZEjN/GpCiK4ndEBNPFZKzVqBtFUZR2Ro4cSXl5udfD6BGMGDGCr776\nKqk2atErimKbqDXp9TB6BF191t1Z9OqjVxRFyXBU6BXFI1bvXK1WsOIKKvSK4hFjHh7D+xvf93oY\nSg9AhV5RPKShpcHrISg9ABV6RfGQsAl7PQSlB6BCrygeokLvDtXV1Zx22mkUFRUxatQo5s+f3239\nsrIyxo8fT0lJCYMGDeKMM85g8+bNSfU3aNAgpkyZErdueXk5WVlZFBcX06dPH4qLi7nrrrsS7isR\nNI5eUTzEoJOxbnDZZZeRn5/Pjh07WLJkCSeffDITJ05k7NixndYfN24cb7zxBkOGDCEYDHLLLbdw\n6aWX8vLLLyfU3/XXX8+4ceMIhxO7kYsINTU1iHQaHWkbtegVxUPUok89gUCAF198kTvvvJOCggKO\nOeYYTjnlFJ5++uku2wwaNIghQ4YAEA6HycrKYt26dQn198EHH7BixQp+8pOfJDxGY0zCNwUrqNAr\niof0FKEXcebHCqtXryY3N5fRo0e3l02YMIEVK1Z0227jxo2UlJRQWFjIfffdx/XXXx+3r3A4zJVX\nXsnDDz+c1BhFhJEjR7LvvvsyY8YMdu7cmVT7eKjQK4qH9BShN8aZHyvU19dTXFy8W1nfvn2pq6vr\ntt3w4cOprq5m586d3HnnnRx44IFx+3rooYc46qijOOSQQxIe38CBA/nkk08oLy9n8eLF1NXVcd55\n5yXcPhHUR68oHtLS2uL1EDKeoqIiamtrdyurra2lT58+CbXv168fF1xwARMmTGDz5s1kZXVuH2/Z\nsoWHHnqIJUuWACS8GK53795MmjQJiLiMHn74Yfbee28aGhro3bt3QueIhwq9onhIIBjweggZz4EH\nHkgoFGLdunXt7ptly5Yxbty4hM8RDAbZsWMHtbW19OvXr9M6H3/8MVu3buWggw7CGENjYyONjY3s\ns88+VFRUJDXRKiKO+uzVdaMoHqJCn3oKCws5/fTTue222wgEArz//vssXLiQ88/vdO8kAF566SVW\nr46kqNixYwdXX301kyZN6lLkAaZNm8ZXX33F0qVLWbZsGbfffjuTJk1i2bJl3Yr8xx9/3N7Xzp07\n+fnPf863v/3thJ84EkGFXlE8RIXeHR555BECgQB77bUX5513Ho8++miXoZUAFRUVTJ06leLiYiZM\nmEBOTg4vvvhit33k5uay1157tf/07duX3NxcBg0a1G27L7/8sr2v8ePHk5+fz7PPPmvpOrtC0xQr\nikfIHOG2Kbcx59tzvB6KbTRNsXukJE2xiMwVkW0isryTY78QkbCI9I8pe0hE1ojIUhGZGFP+YxFZ\nLSKrROSChK9KUTIYtegVN0jEdfMEcFLHQhEZBpwIlMeUfQ8YbYw5ALgEeDRaXgLcBkwGjgBmiUhf\n26NXlDRHhd47Lr300vaUA7HpBy677LJu28W2iW33/vtdZyK9++6792hXXFzMySef7PRldUpCrhsR\n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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9a4a2b5c10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"util_sum_df = pd.DataFrame()\n",
"for group in groups_die:\n",
" col_name = '_'.join(str(c) for c in group)\n",
" util_sum_df[col_name] = util_df[group].sum(axis=1)\n",
"util_sum_df.plot()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment