From 4552dc43662c1a1b988b461e32f0a146eadd0bae Mon Sep 17 00:00:00 2001 From: Aleksandra Jonas Date: Sun, 29 Jan 2023 23:38:31 +0100 Subject: [PATCH] final one i swear --- README.md | 6 ++--- checkin.ipynb | 67 +++++++++++++++++++++++++++++++++++++++------------ main.py | 9 ++++--- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index dbd2dda..a645ae0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Public cloud 4.1/4.3 -Please, edit `aws_cli.py` with your credentials, according to the following example: +Please, create a `aws_cli.py` with your credentials, according to the template in the `aws_credentials_template.py`: ```python aws_access_key_id='' @@ -10,11 +10,9 @@ aws_session_token='' DEFAULT_VPC = '' ``` -where all variables are of String data type. - ## Run -To use application, go to the project directory and run the following line in terminal: +Go to the project directory and run the following in terminal: ```bash python3 main.py diff --git a/checkin.ipynb b/checkin.ipynb index 561c533..4df32d7 100644 --- a/checkin.ipynb +++ b/checkin.ipynb @@ -2,23 +2,49 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "INFO:root:Thread: 0\treqs: 5\tmean time: 0.070s\tfast\t\n", - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "ERROR:root:wrong status code from webservice\n", - "INFO:root:Thread: 0\treqs: 4\tmean time: 0.066s\tfast\t\n" + "INFO:root:Thread: 0\treqs: 4\tmean time: 0.315s\tfast\t\n", + "INFO:root:Thread: 0\treqs: 4\tmean time: 0.329s\tfast\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 1.667s\t\n", + "INFO:root:Thread: 0\treqs: 3\tmean time: 0.439s\tfast\t\n", + "INFO:root:Thread: 0\treqs: 4\tmean time: 0.325s\tfast\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 1.807s\t\n", + "INFO:root:Thread: 2\treqs: 2\tmean time: 1.751s\t\n", + "INFO:root:Thread: 0\treqs: 2\tmean time: 1.740s\tfast\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 2.035s\t\n", + "INFO:root:Thread: 2\treqs: 2\tmean time: 1.593s\t\n", + "INFO:root:Thread: 3\treqs: 1\tmean time: 2.680s\t\n", + "INFO:root:Thread: 0\treqs: 2\tmean time: 1.940s\tfast\t\n", + "INFO:root:Thread: 3\treqs: 1\tmean time: 2.410s\t\n", + "INFO:root:Thread: 2\treqs: 2\tmean time: 2.172s\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 2.585s\t\n", + "INFO:root:Thread: 0\treqs: 1\tmean time: 2.356s\tfast\t\n", + "INFO:root:Thread: 4\treqs: 1\tmean time: 2.280s\t\n", + "INFO:root:Thread: 2\treqs: 1\tmean time: 3.466s\t\n", + "INFO:root:Thread: 3\treqs: 1\tmean time: 4.049s\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 2.060s\t\n", + "INFO:root:Thread: 0\treqs: 2\tmean time: 2.073s\tfast\t\n", + "INFO:root:Thread: 4\treqs: 2\tmean time: 1.781s\t\n", + "INFO:root:Thread: 2\treqs: 2\tmean time: 1.647s\t\n", + "INFO:root:Thread: 4\treqs: 1\tmean time: 5.041s\t\n", + "INFO:root:Thread: 1\treqs: 1\tmean time: 2.125s\t\n", + "INFO:root:Thread: 3\treqs: 1\tmean time: 4.142s\t\n", + "INFO:root:Thread: 0\treqs: 1\tmean time: 2.659s\tfast\t\n", + "INFO:root:Thread: 3\treqs: 1\tmean time: 1.882s\t\n", + "INFO:root:Thread: 2\treqs: 1\tmean time: 2.024s\t\n", + "INFO:root:Thread: 1\treqs: 2\tmean time: 2.078s\t\n", + "INFO:root:Thread: 0\treqs: 1\tmean time: 2.365s\tfast\t\n", + "INFO:root:Thread: 2\treqs: 1\tmean time: 2.699s\t\n", + "INFO:root:Thread: 1\treqs: 1\tmean time: 1.647s\t\n", + "INFO:root:Thread: 0\treqs: 3\tmean time: 0.697s\tfast\t\n", + "INFO:root:Thread: 0\treqs: 4\tmean time: 0.328s\tfast\t\n", + "INFO:root:Thread: 0\treqs: 4\tmean time: 0.330s\tfast\t\n" ] } ], @@ -32,7 +58,7 @@ "logging.getLogger().setLevel(logging.INFO)\n", "\n", "\n", - "API_URL=\"http://95.217.175.172:8080/factors\"\n", + "API_URL=\"http://44.212.101.74:80\"\n", "\n", "\n", "UNIT = 5.0 # secs\n", @@ -155,9 +181,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", @@ -190,7 +227,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.9" + "version": "3.9.9 (main, Jan 4 2023, 23:00:54) \n[Clang 14.0.0 (clang-1400.0.29.202)]" }, "orig_nbformat": 4, "vscode": { diff --git a/main.py b/main.py index 24c4dfc..4956b5d 100644 --- a/main.py +++ b/main.py @@ -3,7 +3,7 @@ from user_data import user_data import boto3, time -PREFIX = 'peachy' +PREFIX = 's444391' if __name__ == '__main__': @@ -17,15 +17,16 @@ if __name__ == '__main__': #TODO key pair key_pair = ec2.create_key_pair( - KeyName=PREFIX + '_key', + KeyName=PREFIX + '-key', KeyType='ed25519', KeyFormat='pem', ) + #TODO security group security_group = ec2.create_security_group( - Description=PREFIX + '_group', - GroupName=PREFIX + '_group', + Description=PREFIX + '-group', + GroupName=PREFIX + '-group', VpcId=DEFAULT_VPC, )