Skip to content

Instantly share code, notes, and snippets.

@manasouza
Last active January 20, 2022 23:48
Show Gist options
  • Select an option

  • Save manasouza/dc9bda335f3d7ade3961a7228e025eac to your computer and use it in GitHub Desktop.

Select an option

Save manasouza/dc9bda335f3d7ade3961a7228e025eac to your computer and use it in GitHub Desktop.
INF-550-spec-operation-analysis.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 5,
"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.9.5"
},
"colab": {
"name": "INF-550-spec-operation-analysis.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/manasouza/dc9bda335f3d7ade3961a7228e025eac/inf-550-spec-operation-analysis.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "g_4QPWwqK0i7"
},
"source": [
"# Example of XML extraction from SPECjvm2008 result .raw file\n",
"\n",
"The following code has 2 responsibilities:\n",
"* Get files stored in Google Drive (the .raw files)\n",
"* Convert the content of such files in Python dict for data handling\n",
"\n",
"Since the result files from SPECjvm2008 have the metric operations/minute, the code will aggregate this information an plot it into a linear graph.\n",
"\n",
"Those ops/m information are related to executions into Azure VM instances.\n",
"\n",
"The tests were run after ssh into the VM instance and executing:\n",
"```\n",
"$ declare -a StringArray=(\"xml.transform\" \"crypto.signverify\" )\n",
"\n",
"$ for val in ${StringArray[@]}; do\n",
"cd SPECjvm2008/ && java -jar SPECjvm2008.jar --createTextFile true --createHtmlFile false --iterations 50 $val > ~/\"$val\".bench.log & && cd ..\n",
"done\n",
"```"
],
"id": "g_4QPWwqK0i7"
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "93988c29",
"outputId": "a05d2c18-0386-4eb7-f707-57f716738b8f"
},
"source": [
"# REF: https://stackabuse.com/reading-and-writing-xml-files-in-python-with-pandas/\n",
"\n",
"!pip install xmltodict\n",
"!pip install -U -q PyDrive"
],
"id": "93988c29",
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Requirement already satisfied: xmltodict in /usr/local/lib/python3.7/dist-packages (0.12.0)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "b3cff272"
},
"source": [
"import xmltodict\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from datetime import datetime, timezone\n",
"import re"
],
"id": "b3cff272",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Ffh2st4z7r2F"
},
"source": [
"from pydrive.auth import GoogleAuth\n",
"from pydrive.drive import GoogleDrive\n",
"from google.colab import auth\n",
"from oauth2client.client import GoogleCredentials# Authenticate and create the PyDrive client.\n",
"\n",
"auth.authenticate_user()\n",
"gauth = GoogleAuth()\n",
"gauth.credentials = GoogleCredentials.get_application_default()\n",
"drive = GoogleDrive(gauth) "
],
"id": "Ffh2st4z7r2F",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "69a542dd"
},
"source": [
"def get_iterations(xml):\n",
" return xml['specjvm-result']['benchmark-results']['benchmark-result'][1]['iterations']\n",
"\n",
"def hms_to_seconds(t):\n",
" h, m, s = [int(i) for i in t.split(':')]\n",
" return 3600*h + 60*m + s\n",
"\n",
"def get_ops_values(iterations):\n",
" data = []\n",
" times = []\n",
" previous_start = None\n",
" for result in iterations['iteration-result']:\n",
" start_time = int(result['@startTime'])\n",
" end_time = int(result['@endTime'])\n",
" duration = end_time - start_time\n",
" data.append(float(result['@operations']))\n",
" return data, times\n",
"\n",
"def extract_gdrive_fileid_from_link(file_link):\n",
" return re.search('\\/([\\d\\w_]{33})\\/view', file_link).group(1)\n",
"\n",
"def convert_xml_file_to_dict(file_name):\n",
" id = extract_gdrive_fileid_from_link(xml_data_files[file_name])\n",
" downloaded = drive.CreateFile({'id':id})\n",
" xml_data = downloaded.GetContentString()\n",
" return xmltodict.parse(xml_data)"
],
"id": "69a542dd",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Uq5zvDYU8AoC"
},
"source": [
"xml_data_files = {\n",
" 'SPECjvm2008.50-signverify-1vcpu.raw': 'https://drive.google.com/file/d/1PO7jrvC2P5MunAxVplg1CpbvpszMXymO/view?usp=sharing', \n",
" 'SPECjvm2008.50-signverify-4vcpu.raw': 'https://drive.google.com/file/d/1E5Lr69czJBBEgTXyE1brE1jeuunOv9V5/view?usp=sharing',\n",
" 'SPECjvm2008.50-xmltransform-1vcpu.raw': 'https://drive.google.com/file/d/1JsJ4quyJUgfRyU1XyMs13Q9iUJ0zLrGl/view?usp=sharing',\n",
" 'SPECjvm2008.50-xmltransform-4vcpu.raw': 'https://drive.google.com/file/d/19R7uME8v29IF78j_DtlwvJ1iyUqHSTU2/view?usp=sharing'\n",
"}\n",
"\n",
"xmltransform_4vcpu = convert_xml_file_to_dict('SPECjvm2008.50-xmltransform-4vcpu.raw')\n",
"xmltransform_1vcpu = convert_xml_file_to_dict('SPECjvm2008.50-xmltransform-1vcpu.raw')\n",
"signverify_4vcpu = convert_xml_file_to_dict('SPECjvm2008.50-signverify-4vcpu.raw')\n",
"signverify_1vcpu = convert_xml_file_to_dict('SPECjvm2008.50-signverify-1vcpu.raw')\n",
"\n"
],
"id": "Uq5zvDYU8AoC",
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "QDv9ov__6ShE"
},
"source": [
""
],
"id": "QDv9ov__6ShE"
},
{
"cell_type": "code",
"metadata": {
"id": "343b9204"
},
"source": [
"# extract xml.transform data \n",
"xmltransform_4vcpu_data, xmltransform_4vcpu_times = get_ops_values(get_iterations(xmltransform_4vcpu))\n",
"xmltransform_1vcpu_data, xmltransform_1vcpu_times = get_ops_values(get_iterations(xmltransform_1vcpu))\n",
"\n",
"signverify_4vcpu_data, signverify_4vcpu_times = get_ops_values(get_iterations(signverify_4vcpu))\n",
"signverify_1vcpu_data, signverify_4vcpu_times = get_ops_values(get_iterations(signverify_1vcpu))"
],
"id": "343b9204",
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "e1d0d562",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 589
},
"outputId": "fd814b18-4796-428d-96df-d911f4af5589"
},
"source": [
"print(f'4vcpu average ops/min: {pd.Series(signverify_4vcpu_data).mean()}')\n",
"print(f'1vcpu average ops/min: {pd.Series(signverify_1vcpu_data).mean()}')\n",
"\n",
"fig, ax = plt.subplots(figsize=(15,9))\n",
"ax.plot(signverify_1vcpu_data, label='1vcpu')\n",
"ax.plot(signverify_4vcpu_data, label='4vcpu')\n",
"plt.legend()\n",
"plt.title('50 iterações de crypto.signverify em Ops/min')\n",
"plt.show()"
],
"id": "e1d0d562",
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"4vcpu average ops/min: 1152.7549378888982\n",
"1vcpu average ops/min: 199.17653617410804\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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QA8JcwAAAD0kzAEAAPSQMAcAANBDwhwAAEAPCXMAAAA9JMwBAAD0kDAHAADQQ8IcAABADwlzAAAAPSTMAQAA9JAwBwAA0EPCHAAAQA8JcwAAAD0kzAEAAPSQMAcAANBDYwe6AAAAwKFt586dWbduXbZt23agi3LALFq0KCtXrsz4+Phuv0eYAwAADqh169Zl2bJlOeWUU1JKOdDFedzVWrNhw4asW7cuq1at2u33uc0SAAA4oLZt25ajjz76kAxySVJKydFHH/2YayaFOQAA4IA7VIPcwJ4svzAHAAAc8n7yJ38yxx57bJ75zGce6KLsNmEOAAA45F100UX51Kc+daCL8ZgIcwAAwCHvhS98YZYvXz7dfcMNN+Scc86Z7r711lvzrGc9K0nyxS9+Md/3fd+X5zznOTnnnHOyadOmXHrppbngggty7rnnZvXq1Xnb2942/b7h2r4//uM/ziWXXLJPyuxplgAAwEHjbR/9Rq67Y+M+neYZJxye3/6hZzym95x22mnZsWNHbrnllqxatSqXXXZZLrzwwuzYsSMXXnhhLrvsspx99tnZuHFjFi9enCT5whe+kGuvvTZLlizJ2WefnVe96lU55phj9umyDFMzBwAAMI/Xve51ueyyy5JkOszdeOONOf7443P22WcnSQ4//PCMjbU6sh/8wR/M0UcfncWLF+fVr351Pve5z+3X8qmZAwAADhqPtQZtf7rwwgvz2te+Nq9+9atTSsnq1avz9a9/fZfjz30iZSklY2NjmZqamu63L/8YXc0cAADAPJ761KdmdHQ0v/u7v5sLL7wwSfL0pz89d955Z774xS8mSTZt2pSJiYkkyRVXXJH77rsvW7duzYc//OG84AUvyHHHHZd77rknGzZsyPbt2/Oxj31sn5VPzRwAAHDI+/Ef//FcddVVuffee7Ny5cq87W1vy1vf+tZceOGF+ZVf+ZXccsstSZIFCxbksssuy8///M9n69atWbx4cT7zmc8kSc4555y85jWvybp16/LGN74xa9asSZL81m/9Vs4555yceOKJOe200/ZZmUutdZ9NbF9bs2ZNXbt27YEuBgAAsB9df/31Of300w90MfbKpZdemrVr1+btb3/7Hk9jvvVQSrmm1rpmvvHdZgkAANBDbrMEAADYSxdddFEuuuiix3WeauYAAAB6SJgDAADoIWEOAACgh4Q5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\n",
"text/plain": [
"<Figure size 1080x648 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fbcec607",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 589
},
"outputId": "745e22c2-d0df-45d5-9739-13916d274876"
},
"source": [
"print(f'4vcpu average ops/min: {pd.Series(xmltransform_4vcpu_data).mean()}')\n",
"print(f'1vcpu average ops/min: {pd.Series(xmltransform_1vcpu_data).mean()}')\n",
"\n",
"fig, ax = plt.subplots(figsize=(15,9))\n",
"ax.plot(xmltransform_1vcpu_data, label='1vcpu')\n",
"ax.plot(xmltransform_4vcpu_data, label='4vcpu')\n",
"plt.legend()\n",
"plt.title('50 iterações de xml.transform em Ops/min')\n",
"plt.show()"
],
"id": "fbcec607",
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"4vcpu average ops/min: 810.4185799940233\n",
"1vcpu average ops/min: 144.43659287884068\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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Ra1atdLYsWP1xhtv1Gn5qlLT1l3SE8koJxmSHgohTDOz9yQ9amaXSloi6exk+ecknSppgaRNki5Oe6kBAAAA7NaqWyNWl8aPH69x48Zp7NixMjMNGDBAH3300Q6XrzgCpJkpIyNDpaWl26al8wTiu6xpCyEsDCEcklwODCHcnEzPCyGcEEIYEEI4MYSwJpkeQgg/DCH0CyEcFEKYmbbSAgAAAECa9evXT02bNtWvf/1rjR8/XpI0cOBALV++XO+9954kKT8/X8XFxZKkF154QWvWrFFhYaGefPJJHXnkkerevbtWrVqlvLw8bd68Wc8880zaylelPm0AAAAAsCc455xzNH36dK1evVpZWVm68cYbdemll2r8+PH6+c9/rkWLFkmSmjdvrilTpuiqq65SYWGhWrVqpRdffFGSNGLECJ155pnKycnReeedp+xsP5X1L3/5S40YMUI9e/bUoEGD0lZm84EfG1Z2dnaYOZMKOQAAAGBP9umnn2r//fdv6GLUyqRJkzRz5kzdeeedNV5HZdvBzGaFELIrW742J9cGAAAAANQxmkcCAAAAQBVddNFFuuiii+r1OalpAwAAAICIEdoAAAAAIGKENgAAAACIGKENAAAAACJGaAMAAADQqJSUlGjIkCEaPXp0QxelSghtAAAAABqVP/zhD7vV+eIIbQAAAAAajZycHD377LP67ne/K0maNm2axo0bt23+9OnTt9XATZs2TUOHDtUhhxyiE044QZI0ceJEnX/++Tr88MM1YMAA3XPPPV97nCRdeeWVmjRpUlrKzHnaAAAAANS/56+TVnyU3nXudZB0ym93usjVV1+tW2+9Vfn5+ZKkE088UZdffrkKCgrUpk0bTZkyRRMmTFBubq4uu+wyvfbaa+rbt6/WrFmzbR1z5szRjBkzVFBQoCFDhui0005L7+uogJo2AAAAAI3CM888o27dumnYsGHbpmVkZOib3/ymnn76aRUXF+vZZ5/VmDFjNGPGDB1zzDHq27evJKlz587bHjNmzBi1atVKXbt21XHHHad33323TstNTRsAAACA+reLGrG68Oabb2rq1Kl67rnnVFRUpA0bNui8887TJZdcojvvvFOdO3dWdna22rVrt9P1mNnX7mdkZKi0tHTbtKKiorSVm5o2AAAAAI3CLbfcopycHC1evFiPPPKIjj/+eD3wwAM69thj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\n",
"text/plain": [
"<Figure size 1080x648 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment