From 8ab0a2db1e5da86ff3df1ee24b38de2857a07010 Mon Sep 17 00:00:00 2001 From: Andre Kerlin Date: Fri, 6 Dec 2019 23:58:29 -0500 Subject: [PATCH] finished lab --- labreports/LAB.md | 37 +++++++++++++++++++++++++++++-------- package-lock.json | 11 ++++++++--- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/labreports/LAB.md b/labreports/LAB.md index 2ae1eee9..030ed87c 100644 --- a/labreports/LAB.md +++ b/labreports/LAB.md @@ -2,12 +2,12 @@ Course: Messiah College CIS 411, Fall 2018
Instructors: [Joel Worrall](https://github.com/tangollama) & [Trevor Bunch](https://github.com/trevordbunch)
-Name: YOUR NAME
+Name: Andre Kerlin
-GitHub: [YOUR_HANDLE](https://github.com/YOUR_HANDLE)
+GitHub: [AndreKerlin](https://github.com/AndreKerlin)
# Step 1: Fork this repository -- The URL of my forked repository +- https://github.com/AndreKerlin/cis411_lab3.git # Step 2: Clone your forked repository from the command line - My GraphQL response from adding myself as an account on the test project @@ -15,18 +15,18 @@ GitHub: [YOUR_HANDLE](https://github.com/YOUR_HANDLE)
{ "data": { "mutateAccount": { - "id": "a10db030-ded8-4397-a78f-30b79d3497ab", - "name": "MY NAME", - "email": "MY EMAIL" + "id": "b6e9181c-bc65-48cb-b63e-a1bc0cbd3789", + "name": "Andre Kerlin", + "email": "ak1393@messiah.edu" } } } ``` # Step 3: Signup for and configure New Relic -- The chosen name of your New Relic ```app_name``` configuration +- The chosen name of your New Relic ```spacebar_3``` configuration ``` -app_name: [''] +app_name: [''] ``` # Step 4: Exercising the application / generating performance data @@ -36,14 +36,35 @@ _Note: No lab notes required._ # Step 5: Explore your performance data * What are your observations regarding the performance of this application? * Is performance even or uneven? +-Id say uneven due to it seems that POSTs take much longer than GETs * Between queries and mutations, what requests are less performant? +-Queries are less performant * Among the less performant requests, which ones are the most problematic? +-the one where you pulled everything that had the word "everything in it took an age # Step 6: Diagnosing an issue based on telemetry data * Within the transactions you're examining, what segment(s) took the most time? +-post takes up about 99.5% of the work load * Using New Relic, identify and record the least performant request(s). +- this request was defenitely the least performant + +{ + #retrieve all orders container the word everything + orders(query: "everything") { + id + customer { + id + email + } + items { + label + quantity + } + } * Using the Transaction Trace capability in New Relic, identify which segment(s) in that request permiatation is/are the most problematic and record your findings. +-"queryOrdersBySearchTerm" takes up the most time and has the most issues. It has to go through literally everything to try and find a match and this O(n) is very inneficient. * Recommend a solution for improving the performance of those most problematic request(s) / permiatation(s). +-Implement a way of sorting the data so that it makes it quicker to find specific items, or limit the searches to more specified searches. # Step 7: Submitting a Pull Request _Note: No lab notes required._ diff --git a/package-lock.json b/package-lock.json index cc9fe249..f9753cc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1288,6 +1288,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1612,7 +1613,8 @@ "is-buffer": { "version": "1.1.6", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "is-builtin-module": { "version": "1.0.0", @@ -1696,6 +1698,7 @@ "version": "3.2.2", "bundled": true, "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -1742,7 +1745,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "lru-cache": { "version": "4.1.3", @@ -2008,7 +2012,8 @@ "repeat-string": { "version": "1.6.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "require-directory": { "version": "2.1.1",