Created
May 25, 2017 11:17
-
-
Save georgf/8471f268556fb08ffcafda2a385d86f4 to your computer and use it in GitHub Desktop.
"main" ping size distributions on Beta
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "raw", | |
"metadata": {}, | |
"source": [ | |
"---\n", | |
"title: How big are the incoming \"main\" pings?\n", | |
"authors:\n", | |
"- georg_fritzsche\n", | |
"tags:\n", | |
"- ping size\n", | |
"- firefox\n", | |
"- main ping\n", | |
"created_at: 2017-05-25\n", | |
"updated_at: 2017-05-25\n", | |
"tldr: How big are the incoming \"main\" ping currently? Nearly all are under 400kb.\n", | |
"---" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### How big are the incoming \"main\" pings on Beta?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Unable to parse whitelist: /mnt/anaconda2/lib/python2.7/site-packages/moztelemetry/histogram-whitelists.json.\n", | |
"Assuming all histograms are acceptable.\n", | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/mnt/anaconda2/lib/python2.7/site-packages/IPython/core/magics/pylab.py:161: UserWarning: pylab import has clobbered these variables: ['pylab']\n", | |
"`%matplotlib` prevents importing * from pylab and numpy\n", | |
" \"\\n`%matplotlib` prevents importing * from pylab and numpy\"\n" | |
] | |
} | |
], | |
"source": [ | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"import matplotlib\n", | |
"import json\n", | |
"\n", | |
"from matplotlib import pyplot as plt\n", | |
"from moztelemetry.dataset import Dataset\n", | |
"from moztelemetry import get_pings_properties, get_one_ping_per_client\n", | |
"\n", | |
"import pylab\n", | |
"%pylab inline" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Based on a 10% submission sample, determine what the ping sizes are.\n", | |
"As we don't have any meta field that tracks the real ping sizes, we estimate them using the serialized JSON string length." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[u'submissionDate',\n", | |
" u'sourceName',\n", | |
" u'sourceVersion',\n", | |
" u'docType',\n", | |
" u'appName',\n", | |
" u'appUpdateChannel',\n", | |
" u'appVersion',\n", | |
" u'appBuildId']" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Dataset.from_source(\"telemetry\").schema" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"fetching 305513.75108MB in 43409 files...\n" | |
] | |
} | |
], | |
"source": [ | |
"pings = Dataset.from_source(\"telemetry\") \\\n", | |
" .where(docType='main') \\\n", | |
" .where(submissionDate=lambda x: int(x) >= 20170501 and int(x) < 20170514) \\\n", | |
" .where(appUpdateChannel=\"beta\") \\\n", | |
" .records(sc, sample=0.1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"sizes = pings.map(lambda p: len(json.dumps(p)))\n", | |
"size_series = pd.Series(sizes.collect())" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Show the distribution of sizes in kb." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"count 1.259880e+07\n", | |
"mean 4.466518e+01\n", | |
"std 4.517895e+01\n", | |
"min 1.204102e+00\n", | |
"25% 9.763672e+00\n", | |
"50% 3.040527e+01\n", | |
"75% 7.370117e+01\n", | |
"90% 9.649512e+01\n", | |
"95% 1.129053e+02\n", | |
"99% 1.778350e+02\n", | |
"99.9% 4.208634e+02\n", | |
"max 1.032554e+03\n", | |
"dtype: float64" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(size_series / 1024).describe(percentiles=[0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7fd262013bd0>" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAGUCAYAAACcKeAtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XucXXdd7//XpxdaUrCCwYYeGgpeoCgWErnk55FbIRwQ\nt1aBQKmUBEEkFYyaqL8jJiBSJ5Vr2gpqoCAwpqKEKhya04poaculw50GFIqBCqWD3KctbfM5f6w1\ndLJz/a5kz9przev5eOxHO2vWyv6sdyazP3vt7/e7IjORJEkalaPaLkCSJPWbzYYkSRopmw1JkjRS\nNhuSJGmkbDYkSdJI2WxIkqSRstmQJEkjZbMhSZJGymZDkiSNlM2GJEkaqbFuNiLi5yPi0oi4ISJ2\nR8Sg8PiN9XF31P+dfXxnVDVLkqQ9jXWzAZwAfAx4IdDkJi7nA0uAe9f/XQJ8BrjkSBUoSZIO7Ji2\nCziQzHwv8F6AiIjh70fEXYBXAM8Afhj4JPAHmfn++vgZYGbO/qcDDwKeP/LiJUkSMP5XNg7mQuAR\nwNOBBwN/B/yfiPix/ez/68BnM/OqeapPkqQFr7PNRkScAjwHeFpmXpWZ12fmq4APAKv3sf9xwFnA\nX89roZIkLXBj/THKQTwYOBr43NBHLHcBpvex/68AdwPeMg+1SZKkWpebjbsBtwPLgN1D3/vuPvZ/\nLvBPmXnTqAuTJEl36nKz8VGqKxsnZeYHDrRjRJwKPBZ4yujLkiRJcxWP2Shd+yIizoyIHRHxtYj4\nVkRcFRErD/G5ToiI0yPiIfWm+9dfn5KZ/w68HXhL/RynRsTDI+IPIuJJQ3/Uc4H/op7ZIkmS5k+T\nAaKla188CtgBPInqI4/3Af9YT0M9mJ+luoJxbf1crwSmgJfW338O1RiMPwd2Av9QH7Nr9g+ox3Oc\nA7wpM5us1SFJkg5DHM7rb0TsBn45My8tPO5TwN9m5ssbP7kkSeqEeZ/6Wl9puDvw3/P93JIkaf61\nsc7GeqqPYlwyXJKkBWBeZ6NExFnAS4BBZu5rLYzZ/X4EeCLwReCW+alOkqReOB44FbgsM7/eci3A\nPDYbEfEM4C+Bp2bm+w6y+xOBt42+KkmSeutZVLM2WzcvzUZEPJNqmfBV9c3VDuaLAG9961s57bTT\nRllar6xbt45Xv/rVbZfROeZWzsyaMbdyZlbuuuuu4+yzz4b6tXQcFDcbEXEC8OPA7BLh96+nsf53\nZn4pIs4DTs7Mc+r9zwIuBl4EfDgiTqqPuzkzv72fp7kF4LTTTmPZsmWlJS5YJ554onk1YG7lzKwZ\ncytnZodlbIYhNBkgerC1L5YAp8zZ/3lUK31eSLWw1uzjNc1K1v589atfbbuETjK3cmbWjLmVM7N+\nKL6ykZnv5wBNSmauHvr6sQ3qUgM33HBD2yV0krmVM7NmzK2cmfVDZ28xr70tX7687RI6ydzKmVkz\n5lbOzPphrG/Edumll/KJT3yi7TL2a+XKlZx88sltl/EDz3zmM9suoZPMrZyZNWNu5cysHw5rufJR\niYhlVGNCxtpjH/sE/vmfd7RdhiRJPzA1NTV7RWh5Zk61XQ+M+ZUN+CDVvdvG0fP49rd3tl2EJElj\nb8zHbBwzxo/xi2716tUH30l7MbdyZtaMuZUzs34Yv1dMNbZy5cq2S+gkcytnZs2YWzkz64cxH7Nx\nLeP7McpzWb78M3zkI1e3XYgkST8wjmM2vLIhSZJGymZDkiSNlM1Gj1x55ZVtl9BJ5lbOzJoxt3Jm\n1g82Gz2yefPmtkvoJHMrZ2bNmFs5M+sHB4g2Nn4DRGdmZli0aFHbZXSOuZUzs2bMrZyZlXOAqEbK\nf5DNmFs5M2vG3MqZWT/YbEiSpJGy2ZAkSSNls9Ej69evb7uETjK3cmbWjLmVM7N+sNnokaVLl7Zd\nQieZWzkza8bcyplZPzgbpbHxm40iSZKzUSRJ0oJjsyFJkkbKZqNHdu7c2XYJnWRu5cysGXMrZ2b9\nYLPRIxs2bGi7hE4yt3Jm1oy5lTOzfrDZ6JELLrig7RI6ydzKmVkz5lbOzPrBZqNHnCLWjLmVM7Nm\nzK2cmfWDzYYkSRopmw1JkjRSNhs9MjEx0XYJnWRu5cysGXMrZ2b9YLPRIzMzM22X0EnmVs7MmjG3\ncmbWDy5X3pjLlUuSxo/LlUuSpAXHZkOSJI2UzUaPTE9Pt11CJ5lbOTNrxtzKmVk/2Gz0yJo1a9ou\noZPMrZyZNWNu5cysH2w2emTTpk1tl9BJ5lbOzJoxt3Jm1g82Gz2ybNm4ztwZb+ZWzsyaMbdyZtYP\nNhuSJGmkbDYkSdJI2Wz0yNatW9suoZPMrZyZNWNu5cysH2w2emRqaiwWiusccytnZs2YWzkz6weX\nK2/M5colSePH5colSdKCU9xsRMTPR8SlEXFDROyOiMEhHPOYiLg2Im6JiM9FxDnNypUkSV3T5MrG\nCcDHgBcCB/0MJiJOBf4JuAI4HXgt8NcR8YQGzy1JkjqmuNnIzPdm5h9n5ruAOIRDfhP4QmZuyMzP\nZuaFwDuAdaXPrQMbDA56kUn7YG7lzKwZcytnZv0wH2M2HglcPrTtMmDFPDz3gnLuuee2XUInmVs5\nM2vG3MqZWT/MR7OxBLhxaNuNwA9FxHHz8PwLxsqVK9suoZPMrZyZNWNu5cysH8Z8NsqTgcHQYwWw\nfWi/HfX3hq0FhheEmar3Hb5t8UZgYmjbrnrfnUPbtwAf2mPLzMwMg8GAK6+8co/tk5OTrF69eq/K\nVq1axfbte57Hjh079nnJcO3atXstbDM1NcVgMNjr9ssbN25kYmLP89i1axeDwYCdO/c8jy1btrB+\n/XrPw/PwPDwPz6Oj5zE5OclgMGDFihUsWbKEwWDAunXjN0rhsNbZiIjdwC9n5qUH2Of9wLWZ+Ttz\ntj0HeHVm3mM/x7jOhiRJDSzUdTauBs4Y2ray3q4jaLhj16Ext3Jm1oy5lTOzfmiyzsYJEXF6RDyk\n3nT/+utT6u+fFxFvnnPI6+t9JiLiARHxQuCpwKsOu3rtYXJysu0SOsncyplZM+ZWzsz6ofhjlIh4\nNPA+9l5j482ZuSYi3gTcNzMfN+eYRwGvBh4EfBl4WWb+zQGew49RJElqYBw/Rjmm9IDMfD8HuCKS\nmXuNZsnMfwWWlz6XJEnqvjGfjSJJkrrOZkOSJI2UzUaP7Gs+tg7O3MqZWTPmVs7M+sFmo0dcaa8Z\ncytnZs2YWzkz64fDWtRrVJyNIklSM+M4G8UrG5IkaaRsNiRJ0kjZbPTI8E18dGjMrZyZNWNu5cys\nH2w2emTz5s1tl9BJ5lbOzJoxt3Jm1g8OEG1s/AaIzszMsGjRorbL6BxzK2dmzZhbOTMr5wBRjZT/\nIJsxt3Jm1oy5lTOzfrDZkCRJI2WzIUmSRspmo0fWr1/fdgmdZG7lzKwZcytnZv1gs9EjS5cubbuE\nTjK3cmbWjLmVM7N+cDZKY+M3G0WSJGejSJKkBcdmQ5IkjZTNRo/s3Lmz7RI6ydzKmVkz5lbOzPrB\nZqNHNmzY0HYJnWRu5cysGXMrZ2b9YLPRIxdccEHbJXSSuZUzs2bMrZyZ9YPNRo84RawZcytnZs2Y\nWzkz6webDUmSNFI2G5IkaaRsNnpkYmKi7RI6ydzKmVkz5lbOzPrBZqNHZmZm2i6hk8ytnJk1Y27l\nzKwfXK68MZcrlySNH5crlyRJC47NhiRJGimbjR6Znp5uu4ROMrdyZtaMuZUzs36w2eiRNWvWtF1C\nJ5lbOTNrxtzKmVk/2Gz0yKZNm9ouoZPMrZyZNWNu5cysH2w2emTZsnGduTPezK2cmTVjbuXMrB9s\nNiRJ0kjZbEiSpJGy2eiRrVu3tl1CJ5lbOTNrxtzKmVk/2Gz0yNTUWCwU1znmVs7MmjG3cmbWDy5X\n3pjLlUuSxo/LlUuSpAXHZkOSJI2UzYYkSRqpRs1GRKyNiOsj4uaIuCYiHnaQ/Z8VER+LiO9FxH9F\nxNaIuGezkrU/g8Gg7RI6ydzKmVkz5lbOzPqhuNmIiFXAK4GNwEOBjwOXRcTi/ez/c8Cbgb8CHgQ8\nFXg48JcNa9Z+nHvuuW2X0EnmVs7MmjG3cmbWD8WzUSLiGuCDmfni+usAvgS8LjM372P/3wVekJk/\nMWfbucCGzFy6n+dwNookSQ10fjZKRBwLLAeumN2WVbdyObBiP4ddDZwSEU+q/4yTgKcB725SsCRJ\n6pbSj1EWA0cDNw5tvxFYsq8DMvMq4GxgW0R8H/gK8A3Aa2OSJC0AI5+NEhEPAl4LbKL6TOSJwP2A\nNxz86CcDg6HHCmD70H476u8NWwsML3U7Ve87PbR9IzAxtG1Xve/Ooe1bgA/tsWVmZobBYMCVV165\nx/bJyUlWr169V2WrVq1i+/Y9z2PHjh37HAy1du3avZbsnZqaYjAYMD1953ls376djRs3MjGx53ns\n2rWLwWDAzp17nseWLVtYv3792J0HMK/nsX379l6cB8zf38f27dt7cR4wv38f27dv78V5wPz9fcw+\nb9fPY9aRPo/JyUkGgwErVqxgyZIlDAYD1q1bt9cxrcvMQ34AxwK3AYOh7RcD79zPMW8BLhna9nPA\nbuCk/RyzDEi4NiHH9LEmly9/ZI6Tpz/96W2X0EnmVs7MmjG3cmZW7tprr83qNZRlWfAaP8pH0ZWN\nzLyNatTmGbPb6gGiZwBX7eewRcDtQ9t210FEyfPrwLZt29Z2CZ1kbuXMrBlzK2dm/dDkY5RXAc+L\niGdHxAOB11M1FBcDRMR5EfHmOfv/I/CrEfGCiLhfPRX2tVQzWr56eOVLkqRxd0zpAZl5Sb2mxsuA\nk4CPAU/MzJvqXZYAp8zZ/80RcTeqARR/DnyTajbLHxxm7ZIkqQOKmw2AzLwIuGg/39trNEtmXghc\n2OS5JElSt3lvlB7Z16hlHZy5lTOzZsytnJn1g81Gj6xcubLtEjrJ3MqZWTPmVs7M+qF4ufL54HLl\nkiQ10/nlyiVJkkrZbEiSpJGy2eiR4aVudWjMrZyZNWNu5cysH2w2emTz5s1tl9BJ5lbOzJoxt3Jm\n1g8OEG1s/AaIzszMsGjRorbL6BxzK2dmzZhbOTMr5wBRjZT/IJsxt3Jm1oy5lTOzfrDZkCRJI2Wz\nIUmSRspmo0fWr1/fdgmdZG7lzKwZcytnZv1gs9EjS5cubbuETjK3cmbWjLmVM7N+cDZKY+M3G0WS\nJGejSJKkBcdmQ5IkjZTNRo/s3Lmz7RI6ydzKmVkz5lbOzPrBZqNHNmzY0HYJnWRu5cysGXMrZ2b9\nYLPRIxdccEHbJXSSuZUzs2bMrZyZ9YPNRo84RawZcytnZs2YWzkz6webDUmSNFI2G5IkaaRsNnpk\nYmKi7RI6ydzKmVkz5lbOzPrBZqNHZmZm2i6hk8ytnJk1Y27lzKwfXK68MZcrlySNH5crlyRJC47N\nhiRJGimbjR6Znp5uu4ROMrdyZtaMuZUzs36w2eiRNWvWtF1CJ5lbOTNrxtzKmVk/2Gz0yKZNm9ou\noZPMrZyZNWNu5cysH2w2emTZsnGduTPezK2cmTVjbuXMrB9sNiRJ0kjZbEiSpJGy2eiRrVu3tl1C\nJ5lbOTNrxtzKmVk/2Gz0yNTUWCwU1znmVs7MmjG3cmbWDy5X3pjLlUuSxo/LlUuSpAXHZkOSJI2U\nzYYkSRopm40eGQwGbZfQSeZWzsyaMbdyZtYPjZqNiFgbEddHxM0RcU1EPOwg+98lIv40Ir4YEbdE\nxBci4jmNKtZ+nXvuuW2X0EnmVs7MmjG3cmbWD8eUHhARq4BXAs8HPgSsAy6LiJ/MzP3dnu/vgHsB\nq4HPA/fGqypH3MqVK9suoZPMrZyZNWNu5cysH4qbDarm4g2Z+RaAiHgB8AvAGmDz8M4R8b+Anwfu\nn5nfrDfvalauJEnqmqKrCxFxLLAcuGJ2W1YLdVwOrNjPYb8IfAT4/Yj4ckR8NiLOj4jjG9YsSZI6\npPSjjMXA0cCNQ9tvBJbs55j7U13Z+Cngl4EXA08FLix8bh3E9u3b2y6hk8ytnJk1Y27lzKwf5mPc\nxFHAbuCszPxIZr4X+B3gnIg4bh6ef8GYnJxsu4ROMrdyZtaMuZUzs34obTamgTuAk4a2nwR8dT/H\nfAW4ITO/O2fbdUAA9znw0z0ZGAw9VgDDne6O+nvD1gLDN/GZqvcdHsu6EZgY2rar3nfn0PYtVGNj\n7zQzM8NgMODKK6/cY/vk5CSrV6/eq7JVq1bt1bHv2LFjn9O81q5du9fNiKamphgMBkxP33ke27Zt\nY+PGjUxM7Hkeu3btYjAYsHPnnuexZcsW1q9fP3bnAczreWzbtq0X5wHz9/exbdu2XpwHzO/fx7Zt\n23pxHjB/fx/btm3rxXnMOtLnMTk5yWAwYMWKFSxZsoTBYMC6dev2OqZtxfdGiYhrgA9m5ovrr4Pq\nVfl1mXn+PvZ/HvBq4Eczc6be9kvAO4C7Zeat+zjGe6NIktRAX+6N8irgeRHx7Ih4IPB6YBFwMUBE\nnBcRb56z/9uBrwNviojTIuJRVLNWtu6r0ZAkSf1SPPU1My+JiMXAy6g+PvkY8MTMvKneZQlwypz9\nvxcRT6D67OHDVI3HNuAlh1m7JEnqgEYDRDPzosw8NTPvmpkrMvMjc763OjMfN7T/5zLziZl5t8y8\nb2Zu8KrGkbevz/Z0cOZWzsyaMbdyZtYPruLZI66014y5lTOzZsytnJn1Q/EA0fngAFFJkprpywBR\nSZKkQ2azIUmSRspmo0eGF4TRoTG3cmbWjLmVM7N+sNnokc2b97rprg6BuZUzs2bMrZyZ9YMDRBsb\nvwGiMzMzLFq0qO0yOsfcyplZM+ZWzszKOUBUI+U/yGbMrZyZNWNu5cysH2w2JEnSSNlsSJKkkbLZ\n6JHh2xbr0JhbOTNrxtzKmVk/2Gz0yNKlS9suoZPMrZyZNWNu5cysH5yN0tj4zUaRJMnZKJIkacGx\n2ZAkSSNls9EjO3fubLuETjK3cmbWjLmVM7N+sNnokQ0bNrRdQieZWzkza8bcyplZP9hs9MgFF1zQ\ndgmdZG7lzKwZcytnZv1gs9EjThFrxtzKmVkz5lbOzPrBZkOSJI2UzYYkSRopm40emZiYaLuETjK3\ncmbWjLmVM7N+sNnokZmZmbZL6CRzK2dmzZhbOTPrB5crb8zlyiVJ48flyiVJ0oJjsyFJkkbKZqNH\npqen2y6hk8ytnJk1Y27lzKwfbDZ6ZM2aNW2X0EnmVs7MmjG3cmbWDzYbPbJp06a2S+gkcytnZs2Y\nWzkz6webjR5ZtmxcZ+6MN3MrZ2bNmFs5M+sHmw1JkjRSNhuSJGmkbDZ6ZOvWrW2X0EnmVs7MmjG3\ncmbWDzYbPTI1NRYLxXWOuZUzs2bMrZyZ9YPLlTfmcuWSpPHjcuWSJGnBsdmQJEkjZbMhSZJGymaj\nRwaDQdsldJK5lTOzZsytnJn1g81Gj5x77rltl9BJ5lbOzJoxt3Jm1g/ORmnM2SiSpPHTm9koEbE2\nIq6PiJsj4pqIeNghHvdzEXFbRIzFyUuSpNErbjYiYhXwSmAj8FDg48BlEbH4IMedCLwZuLxBnZIk\nqaOaXNlYB7whM9+SmTuBFwAzwJqDHPd64G3ANQ2eU4dg+/btbZfQSeZWzsyaMbdyZtYPRc1GRBwL\nLAeumN2W1aCPy4EVBzhuNXA/4KXNytShmJycbLuETjK3cmbWjLmVM7N+OKZw/8XA0cCNQ9tvBB6w\nrwMi4ieAVwD/MzN3R0RxkTo027Zta7uETjK3cmbWjLmVM7N+GOnU14g4iuqjk42Z+fnZzYf+JzwZ\nGAw9VgDDl9V21N8bthYYvmPgVL3v9ND2jcDE0LZd9b47h7ZvAT60x5aZmRkGgwFXXnnlHtsnJydZ\nvXr1XpWtWrVqr8uDO3bs2Oec8rVr1+5158OpqSkGgwHT03uex8aNG5mY2PM8du3axWAwYOfOPc9j\ny5YtrF+/3vPwPDwPz8Pz6Oh5TE5OMhgMWLFiBUuWLGEwGLBu3bq9jmlb0dTX+mOUGeBXM/PSOdsv\nBk7MzDOH9j8R+AZwO3c2GUfV/387sDIz/2Ufz+PUV0mSGuj81NfMvI2qAzhjdltUn4ucAVy1j0O+\nDfw08BDg9PrxeqpLBacDH2xUtSRJ6owmH6O8CnheRDw7Ih5I1TwsAi4GiIjzIuLNUA0ezczPzH0A\nXwNuyczrMvPmI3MaAvZ5uU0HZ27lzKwZcytnZv1QOkCUzLykXlPjZcBJwMeAJ2bmTfUuS4BTjlyJ\nOlQrV65su4ROMrdyZtaMuZUzs35wufLGHLMhSRo/nR+zIUmSVMpmQ5IkjZTNRo8Mz9HWoTG3cmbW\njLmVM7N+sNnokc2bN7ddQieZWzkza8bcyplZPzhAtLHxGyA6MzPDokWL2i6jc8ytnJk1Y27lzKyc\nA0Q1Uv6DbMbcyplZM+ZWzsz6wWZDkiSNlM2GJEkaKZuNHhm+k6AOjbmVM7NmzK2cmfWDzUaPLF26\ntO0SOsncyplZM+ZWzsz6wdkojY3fbBRJkpyNIkmSFhybDUmSNFI2Gz2yc+fOtkvoJHMrZ2bNmFs5\nM+sHm40e2bBhQ9sldJK5lTOzZsytnJn1g81Gj1xwwQVtl9BJ5lbOzJoxt3Jm1g82Gz3iFLFmzK2c\nmTVjbuXMrB9sNiRJ0kjZbEiSpJGy2eiRiYmJtkvoJHMrZ2bNmFs5M+sHm40emZmZabuETjK3cmbW\njLmVM7N+cLnyxlyuXJI0flyuXJIkLTg2G5IkaaRsNnpkenq67RI6ydzKmVkz5lbOzPrBZqNH1qxZ\n03YJnWRu5cysGXMrZ2b9YLPRI5s2bWq7hE4yt3Jm1oy5lTOzfrDZ6JFly8Z15s54M7dyZtaMuZUz\ns36w2ZAkSSNlsyFJkkbKZqNHtm7d2nYJnWRu5cysGXMrZ2b9YLPRI1NTY7FQXOeYWzkza8bcyplZ\nP7hceWMuVy5JGj8uVy5JkhYcmw1JkjRSNhuSJGmkbDZ6ZDAYtF1CJ5lbOTNrxtzKmVk/2Gz0yLnn\nntt2CZ1kbuXMrBlzK2dm/eBslMacjSJJGj/ORpEkSQuOzYYkSRqpRs1GRKyNiOsj4uaIuCYiHnaA\nfc+MiB0R8bWI+FZEXBURK5uXrP3Zvn172yV0krmVM7NmzK2cmfVDcbMREauAVwIbgYcCHwcui4jF\n+znkUcAO4ElUAzDeB/xjRJzeqGLt1+TkZNsldJK5lTOzZsytnJn1Q/EA0Yi4BvhgZr64/jqALwGv\ny8zNh/hnfAr428x8+X6+7wBRSZIa6PwA0Yg4FlgOXDG7Latu5XJgxSH+GQHcHfjvkueWJEndVPox\nymLgaODGoe03AksO8c9YD5wAXFL43JIkqYPmdTZKRJwFvAR4WmZOH/yIJwODoccKYHjA0I76e8PW\nAluHtk3V+w4//UZgYmjbrnrfnUPbtwAf2mPLzMwMg8GAK6+8co/tk5OTrF69eq/KVq1atdfApx07\nduxztby1a9eydeue5zE1NcVgMGB6es/z2LhxIxMTe57Hrl27GAwG7Ny553ls2bKF9evXex6eh+fh\neXgeHT2PyclJBoMBK1asYMmSJQwGA9atW7fXMa3LzEN+AMcCtwGDoe0XA+88yLHPAL4L/K9DeJ5l\nQMK1CTmmjzW5fPkjc5w85znPabuETjK3cmbWjLmVM7Ny1157bVavoSzLgtf4UT6Krmxk5m1UozbP\nmN1Wj8E4A7hqf8dFxDOpLjE8IzPfW/KcOnQrVzqjuAlzK2dmzZhbOTPrhyazUZ5OdSXjBVSfJawD\nngo8MDNviojzgJMz85x6/7Pq/V8EvHPOH3VzZn57P8/hbBRJkhoYx9kox5QekJmX1GtqvAw4CfgY\n8MTMvKneZQlwypxDnkc1qPTC+jHrzcCaJkVLkqTuKG42ADLzIuCi/Xxv9dDXj23yHJIkqR+8N0qP\nDI9k1qExt3Jm1oy5lTOzfrDZ6JHNmw9pAVcNMbdyZtaMuZUzs34oHiA6Hxwg2szMzAyLFi1qu4zO\nMbdyZtaMuZUzs3LjOEDUKxs94j/IZsytnJk1Y27lzKwfbDYkSdJI2WxIkqSRstnokeH19nVozK2c\nmTVjbuXMrB9sNnpk6dKlbZfQSeZWzsyaMbdyZtYPzkZpbPxmo0iS5GwUSZK04NhsSJKkkbLZ6JGd\nO3e2XUInmVs5M2vG3MqZWT/YbPTIhg0b2i6hk8ytnJk1Y27lzKwfbDZ65IILLmi7hE4yt3Jm1oy5\nlTOzfrDZ6BGniDVjbuXMrBlzK2dm/WCzIUmSRspmQ5IkjZTNRo9MTEy0XUInmVs5M2vG3MqZWT/Y\nbPTIzMxM2yV0krmVM7NmzK2cmfWDy5U35nLlkqTx43LlkiRpwbHZkCRJI2Wz0SPT09Ntl9BJ5lbO\nzJoxt3Jm1g82Gz2yZs2atkvoJHMrZ2bNmFs5M+uHY9ouoMu+//1bmZoai7E3AKxatWqvehYvXuwK\nfAexadOmtkvoHDNrxtzKmVk/OBulsVVE/AOZt7ddyAEdf/wiPvvZ62w4JGmBGMfZKF7ZaOyWutF4\nK3Ba28Xsx3XccsvZTE9P22xIklpjs3HYTmN8r75IktQ+B4j2yta2C+ikrVvNrZSZNWNu5cysH2w2\nemUsPprrnHEa5NsVZtaMuZUzs35wgGhjvwRcynjXOAUs59prr2XZsnGtUZJ0JI3jAFGvbEiSpJGy\n2ZAkSSNlsyFJkkbKZqNXBm0X0EmDgbmVMrNmzK2cmfWDzUavnNt2AZ107rnmVsrMmjG3cmbWDzYb\nvbKy7QI6aeVKcytlZs2YWzkz6webDUmSNFI2G5IkaaRsNnple9sFdNL27eZWysyaMbdyZtYPjZqN\niFgbEddHxM0RcU1EPOwg+z8mIq6NiFsi4nMRcU6zcnVgE20X0EkTE+ZWysyaMbdyZtYPxc1GRKwC\nXglsBB4KfBy4LCIW72f/U4F/Aq4ATgdeC/x1RDyhWcnav3u1XUAn3ete5lbKzJoxt3Jm1g9Nrmys\nA96QmW/JzJ3AC4AZYM1+9v9N4AuZuSEzP5uZFwLvqP8cSZLUc8eU7BwRxwLLgVfMbsvMjIjLgRX7\nOeyRwOX6b499AAAUVUlEQVRD2y4DXl3y3Gruuuuua7uEA1q8eDFLly5tuwxJ0ogUNRvAYuBo4Mah\n7TcCD9jPMUv2s/8PRcRxmXnr/p/uG8B0YYnz5fttF3AIvgIcxdlnn912IQd03HHH8/d//w7ufe97\nt/L83/rWtw56G+tbb72V4447bp4qasamTdK4Km025svx1X8e324Vh+Q9wLhcOfgA8Lahr3cDzwXa\neSE/uH/n1lsv4SlPeUqrVdS3Yz6Ao6iyHF/HHnsc558/weLF+xw+dUR94AMf4G1ve9vBdxxy1FFH\nsXv3eOc4yhqb5jZs3HM8kvUdqcyGLV68uLfjQeZczT6+zTrmisw89J2rj1FmgF/NzEvnbL8YODEz\nz9zHMe8Hrs3M35mz7TnAqzPzHvt5nrPY81VTkiSVeVZmvr3tIqDwykZm3hYR1wJnAJcCRETUX79u\nP4ddDTxpaNvKevv+XAY8C/gicEtJjZIkLXDHA6dSvZaOhaIrGwAR8XTgYqpZKB+imlXyVOCBmXlT\nRJwHnJyZ59T7nwp8ErgIeCNVY/Ia4MmZOTxwVJIk9UzxmI3MvKReU+NlwEnAx4AnZuZN9S5LgFPm\n7P/FiPgFqtknLwK+DDzXRkOSpIWh+MqGJElSCe+NIkmSRspmQ5IkjZTNhiRJGqmxaTYi4qiIOLrt\nOhayehqzCphZM+bWjLkdHvMrd6QyG4sBohHxIOD/p5rJ8u/A32TmVe1W1W/1lOTHUzWcX8zMHa0W\n1AFm1oy5NWNuhy8i7g7cHfg2cHNm3hERR2Xm+C6/2rJRZdZ6sxERDwA+CPwfqkW8ngTcRtVw7G+h\nMB2GiPhp4P3Ap4Afp8r7w8CvZaaLqO2DmTVjbs2Y2+GLiAcDf0l1T69vAx8Bfj8zv2nDsW+jzKzV\nZqO+PPNy4Mczc1W97e5U63E8FZjMzM2tFdhDEXEC8H+Bj2bm2oi4N7AMeD1wPfDUzPxaRES23YmO\nCTNrxtyaMbfDFxH3pWrO3g7sAB4OPJnqRfQxmbnLhmNPo86s1TEb9T+Uk6k+Ppnd9h2qpc/fCjwt\nIp7VUnl9FVRL2V4BkJlfycx3A0+g+rt4W73dX2J3MrNmzK0Zczt8DwE+D/xRZr4nMzcBv0519fya\niFiSmbsdw7GHkWbWWrMxp+Ap4Oj64xTgBw3HG4GPAi+MiEUtlNhXtwA/DPx/sxvqd0g7gacBPxMR\nE20VN6bMrBlza8bcDt9JwE8Dt85uyMxPAL9BNS7w0oi4mw3bHkaaWWvNxpyC3wM8ANgQEXeDH/zD\n+gbwJ8AK4FHtVNk/mXk7cCHw+Ig4s96WEXEU1dLzrwceNvt3ITNrytyaMbfm6owA/pnqHfmL67uV\nz/o88KfAscCj57e68TRfmbU+9TUzPw88neour38WEYvnNCK3AZ8AvtVWfV0XEfeKiJ+JiAdHxF3q\nze8BbgCeFxFPAsjM3XXu/wnchwb3zekLM2vG3Joxt8MXEcNZfIXqRqG/DPzC7JX0erzBPwMnAo+Y\n1yLHzHxn1nqzAZCZ76O6PPjrwBsiYlVEnAa8GPhR4Ett1tdVEfEzwL8BlwLvBj4cEcsz8zrgpcAi\nYF1EPLfe/zjgNKpfcre3U3W7zKwZc2vG3A5f/VpxUUS8Gzg/Ih6Vmd8Dfh+4A9gAPGN2//rK0XXA\ndBv1joNWMsvMsXlQjbj+F6pLOf8BfBZ4aNt1dfEB3LvO8TzgwVSDyy6lms70zHqf5VRjY6apPpO7\nEvhv4CFt129m3XmYm7m1mOEDqa58v5FqFsW7qcYcvLD+/mKqq0QfBiaBc4C/qI/5ybbrX0iZtX7i\n+wjih4BT6398i9uup6uPunG7jmpa8dztrwduBgb110uoRiH/MbBmeP+F9DAzczO3bj2A1wCXzvn6\nR6gWiLwD2FBvuwfw28DlVBMSLgdOb7v2hZZZ64t6aTQi4vFU75Lul5k3RsRdMvP79ffeBDwFeFBm\n3tRmnePEzJoxt2bM7fBFxDbg1sx8dv11ZGZGxG8Dr6K6QrRtzva7AbfnAl4Yra3MxmLMho6cOVOK\nr6D6GOqieiGW788ZfPYiqkFm64eOWZDMrBlza8bcjqhrqWbtnDq0fQvwWuBlEXFK1u+qM/O7C7nR\nqLWSmc1GT8Sda5GcMLuJqku9H9Usn6h/mR0FfA/4L6rBt8z+UC00ZtaMuTVjbiPxPqrxfX8QESfX\n78SPysw7gHdSfSx/UqsVjp9WMrPZ6IGo7qPwzoi4GrgiqlVXA/g74J+AM6hWZSWr6XO7qQahfS+q\nu+0uuHdNZtaMuTVjbocvIk6NiBdGxG9GxC8CZOaHgb+nmpK5PiLum3cup/1ZqkGNJ+z7T+y/ccrM\nedodFxE/RjV17m+o3gndu/7/R1NNnTuP6l3Sr0XEp6hGHp8C/CLwiFyA9wYws2bMrRlzO3xx543p\nrqO62rOknrb5W5n52oi4K3Am8ICIeCnwTeA5VFOHP9dO1e0au8zaHhnr47BHFv8e8K9D2wbAjcDF\nVNOY7kI1he5NVAPS3gr8dNu1m1m3HuZmbi3ldwJVs7al/vpewGOpFqH6N+CUevuzgO3AbuCTwBdY\noEsnjGNmXtnovkVUy8gSEUcDZOalEXEH8LfAlzPzj6gGBa2e3S+rz+cWKjNrxtyaMbfDcxvVjek+\nCJDV7Jz3RcQjgKuBrcDKzHxbRLydaprw94BvZeaNLdXctrHLzDEb3Xcd8LNRrTp4B9XA9cjqLpG/\nRTUIaNnQMQv9sqyZNWNuzZjb4TmK6p35g2Y3RMSxmbmLaqzLIyLiPKgG0mbmRzPzcwu40YAxzMxm\no+My8++oLoO9LSIemNWysrM30dkOXA/8zNAxC3pku5k1Y27NmNvhyWra5fnAsyPiV+ptt9UvnjuB\nl1NN5VzsQNrKOGZms9EhEfGTEfFnEXFhRPxuRCyuvzVBdf+Yt9a/zL5fb58BvssCvoeCmTVjbs2Y\n2+GLiB+N6qZ0D5+z+T3AvwK/ExFPgerFs/7e14G7Uy1UtSCbtC5kZrPRERHxIKq16k+nuuPjHwN/\nHxFnZuZHgJdR/QB9ICLOierW1C+lGtX+gZbKbpWZNWNuzZjb4YuI06nu//Iu4NKImIqIn8vM66nW\nJLkJ2BQRz6n3Pw74yXr7gryq0ZnM5mNkrI/DHll8F2Ab8Fdztp0M/F/gGuBZ9balwGaqO0J+CvgI\nC3c0tpmZm7l16EF1D5jPA39K9bHSz9b5fRVYU+9zOtV6JLcCn6YaAPn1hZphlzLz3igdERHvBT6X\nmS+aHakeEfcC/opqDvXvZubV9b73obo0S2Z+s7WiW2ZmzZhbM+Z2eCJiOdXsnKdk5mfnbH8j1R1x\n12fm30bE3YGfqLdNA/+SmZ9vo+a2dSkzm40xVw/eOYbqByoy81fq7cdmNeBnMfAvwM7MfOrsMbmA\n/2LNrBlza8bcjoyIeAzViqqPyMwvRMSizJypv/d2qnUiHpyZ0y2WOVY6lVnbl4F8HNoDWEE1HW7d\nnG3H1f99FPAdXATIzMzN3Dr6oBpD+GngncP51f//GeB1bdc5To8uZeYA0TEUEadExMqIODsi7hkR\nd83q8usfARMRsRYgM2+tD7mdahnk77RUcuvMrBlza8bcDl9E3DWq+74cB9U9YYANwEMj4rX1tlvj\nzjvhfhw4sZ1qx0OXM3MF0TETET8DXEY1Uvi+VDfFeUNE/DXVwLJFwGsj4mSqVeC+DTwZSKppdAuO\nmTVjbs2Y2+GL6r4dr6FaVvvuETEBvJcq19cBv1k3cM/PO6cJA9wa1V1xM+u37gtF1zNzzMYYiYh7\nAJfXj1dSDeTZDPw81SqEf5iZX6mnML2G6pfYDNV86V/MzKk26m6TmTVjbs2Y2+GLiPtTzcJ5O7CT\nahrmrwHvoMr0C8Aa4CVU94+5huq252cCD8/MT7dQdqv6kJnNxhiJiKVUi7A8NzOvmLP9XOBsqnsn\nvCQz/zsi/gfwYKp3S5/OzC+3UXPbzKwZc2vG3A5fRPwuMMjMR8/ZdhbwB1SX/TdmNdjx/lQvnicA\nNwPnZ+an2qi5bX3IzI9RxssdVO+CTgaIiGMy8/bMvCAijgeeC+wA3pWZN1DN1V/oZi9Nm1mZ3Zhb\nE+Z2ZPxQRNwNmMnM3Zn59oj4PnAe8NyIeElmfgFvTDdXpzPzysaYiYhLqVYffGxmfmv2l1n9vfcA\nx2fm41otsmURcW/gHpn5mfrrfwT+B2Z2QBGxCLh99vPciHgX1eqV5lbAn7fDExGrgDcBP5eZH42I\nu8z5mXwB8Fpg2dxL/wt9qnBEPB24mA5n5myUFkXECRFx94j4oTmb1wA/DPxd/QM1954JlwHHRH2b\n6oWovjT9SeDlEfHIevNq4B7AJWa2b/XgskuAR0bECfXm5+LP2gFFxH0i4ukR8SsR8dB682rMrbHM\n3Ea1yuW7IuJHM/P7c2ZXvB7YBTxu6JixedFsQ2ZeQvWz1dnMbDZaEtV9FP4BeD9wXUQ8KyKOymrx\nlbOA04AdEfET9eVZqD7//Q6wkH+R/QTVVK4TqUZfP6zO7JlU+VxhZnuKiJ8C/g34MnB9Zn4PYM7P\n2k/hz9peIuLBVPecWA9cBLw0In7Sf6OHLqob001ExJsi4sUR8cD6W79DNRX4moi4z+wU4frq23eA\nb7RUcusi4n4RsS4iXllfBZr1x1RNRScz82OUFtSNxr8Cb6EaYbwc+C2qVeA+Wu/z01Qjj4+n+iH6\nCnAG1WW0T7RR9ziIiHtSXYJ9N/AbVCOzX56Z10U1JfEiqvsFfB0zo76K8Q/A5zPzhfW2B1L9XE1n\n5pfrZuQSqtue+7MGRMR9qW6O9jdUt+N+FPBG4Jcy80P1PuZ2APXvuauAq4HvAY+n+n331sy8uP4d\ndxFVg/b7VDN3TgeeRzWD4gutFN6iusF9D/BZ4K7AI6lmOG2OiKC698lm4CF0LDObjXlWv1hOUi1d\n/OI5298HfDKr+yr84LO2qBYHug/VTXQmc8769wtNfWn6nlTvNh8HPBz4Q6rR2A8C/iMzz4mI36Ia\nwGdm1aXWy4EXAZ+gatLuSfWu/NNUNw7bWu9rbrWIeD7V1bLHzfm3+G6qO2veCvxnZv5Lvd3chkS1\nqNRW4ObMfH697cepGrf7ARdn5l/UAx7/BHgi1ZX2bwK/OfumayGpG9zLqd4c/GFm7o6INcArgEfP\n/lxFNf36j4An0aHMnI0y/46l+rz3HQD1Rye7geupXgTIzJwdSZyZF7ZX6tjZnZk3RcSHqZZ9fmdE\n3Aq8meqd+psAMnNLm0WOmR8GHgAsBs6vt/061Yvj46jGvsxk5qS57SGo7tD6EOCjEfG/qX6534Uq\n06UR8UeZ+Vfmtrd6TMFJVL/XZgcr/kdEbABeCpwVEV/KzH8C1kW1ANpMfeyCuzFdVItuPQP4D+AV\n9WsCwIeB2+bum5nfAH43Il5FdcWoE5k5ZmOeZeaNwNmZ+W/1ptnPdm+gmlY3u98dUd2pD/jBzZ4W\ntDkDnu4AHlP//69QZbgLWDFn0KiZVb4GXAEMqMa7vDozP5GZ76VadfBy4FERcUz9C8/cKjuobtN9\nSUS8g+rd95nASuAXqG66dlZELDa3PUXE0RFxLNUYoXvODmSs31jtosryaKp1SWZ9JTO/2YUXzVGo\nm4urgY9l5rfmfOvTVEvd33sfx9zQpcxsNlqQmf8OP/jHN9u1BtVtqKm/94fA8yLimPqYBf9515xf\n5v9MtQTvRVTLQC+nuqz4aOCcOaO0F3xmdQavpJpB8QtU78xnv/dlqtUGHwTcMftuytwgM6+nejH8\n38CngL/PzHdl5WtUgxvvAXzX3CqzM3DqK7K3UV1xPBP4jTq33fUV2y9Qffz5tHrcy4LNbu6spcz8\n18z8w3r73MY1qa6Izx5zRkTca/6qPDJsNlpU/+Ob+0O1GyAiXgb8KXDF0LS6BW3OL6TrqUZmn0m1\nBPT1mflO4PeAzXnnza8EZOZHqD4CAHj+7C/42rHA5/Aj1b3UP1eXUL1Dv2vceXMrgJOAL+KsE6Ca\ndQL8dlRr4ACQme+nGsT46oj49Xrb7CJT36EaBPm9+a51XOwrs9nXg/qj9GOoBoneQTUQlIh4BdW0\n4WP3/hPHm79g2hdUnevtwJci4veo7uL3s5n58VYrG19XU407+EhmfmJ2QG1mbm+7sHGVmf8WEY+h\nGpz8xoj4JNVVjgHwP+dcYdPergL+HHhRRHyVavbEauBRWU8jXsjqgZ9XU13p+ZGIeFVW04MB/oJq\n6ey/rAdA/gPwn8DTqF4wF2R++8ts6ArPbqpGI4DbI+IlVAO9H5GZ/zXvRR8mZ6OMiXoA2p9QdbCP\nr9+Naj/mDKxVgYh4ANXHA48E/h24KMfk3gnjLCIeC/wV1QvADcCL0+mts1OrX0d1lfzDwAVUjdn5\nmXlTvc9RVD9zE1Qvnt+huknYgrwx3QEy2zynSZu7/xTVm9HTqaZVd/K1wWZjTETEzwIfoppl8Zm2\n61G/zQ5qtGE7dPW09WOBW7syKG/UIuKuVFd5vp6Z26JaVvtvGWo46n1PpZrhs4hqmv+CvG/MQTL7\nQcNRj+c4keqOrncDHpqZn2yp7MNmszFGIuIEL8tK6pLh31tRrXo5STUweSIzp+vxByfXs1EWvINk\n9meZ+fU6sx+mGgD/5RyD28QfDsdsjBEbDUldM/t7q34nvrt+tx5UKyBnRLyGavD2fSPi2VR3LV3Q\n73ILMjuVaqmEmdaKPUK8siFJOiLqF8yoZ9qtolru/QvAjwEPy8yPtVrgGDpAZj9ONVGgF5nZbEiS\njpih6ZtXUK3C+pgujzcYtYWQmR+jSJKOmPoF8+iIOB94LPCQPr1ojsJCyMxFvSRJo/BpYJlThIv0\nNjM/RpEkHXGzi+21XUeX9Dkzmw1JkjRSfowiSZJGymZDkiSNlM2GJEkaKZsNSZI0UjYbkiRppGw2\nJEnSSNlsSJKkkbLZkCRJI2WzIUmSRspmQ5IkjdT/A1IzebohDPQyAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fd261940a90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"size_series.hist(xrot=45)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7fd2618f5210>" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nmAAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fd26188cdd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"size_series.hist(xrot=45, log=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"anaconda-cloud": {}, | |
"hide_input": false, | |
"kernelspec": { | |
"display_name": "Python [default]", | |
"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": 0 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
--- | |
title: How big are the incoming "main" pings? | |
authors: | |
- georg_fritzsche | |
tags: | |
- ping size | |
- firefox | |
- main ping | |
created_at: 2017-05-25 | |
updated_at: 2017-05-25 | |
tldr: How big are the incoming "main" ping currently? Nearly all are under 400kb. | |
--- | |
# ### How big are the incoming "main" pings on Beta? | |
# In[1]: | |
import pandas as pd | |
import numpy as np | |
import matplotlib | |
import json | |
from matplotlib import pyplot as plt | |
from moztelemetry.dataset import Dataset | |
from moztelemetry import get_pings_properties, get_one_ping_per_client | |
import pylab | |
get_ipython().magic(u'pylab inline') | |
# Based on a 10% submission sample, determine what the ping sizes are. | |
# As we don't have any meta field that tracks the real ping sizes, we estimate them using the serialized JSON string length. | |
# In[2]: | |
Dataset.from_source("telemetry").schema | |
# In[ ]: | |
pings = Dataset.from_source("telemetry") .where(docType='main') .where(submissionDate=lambda x: int(x) >= 20170501 and int(x) < 20170514) .where(appUpdateChannel="beta") .records(sc, sample=0.1) | |
# In[ ]: | |
sizes = pings.map(lambda p: len(json.dumps(p))) | |
size_series = pd.Series(sizes.collect()) | |
# Show the distribution of sizes in kb. | |
# In[ ]: | |
(size_series / 1024).describe(percentiles=[0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999]) | |
# In[ ]: | |
size_series.hist(xrot=45) | |
# In[ ]: | |
size_series.hist(xrot=45, log=True) | |
# In[ ]: | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment