Skip to content

trevordbunch/cis411_lab5_Monitoring

 
 

Repository files navigation

CIS 411 Lab 5: Monitoring

This is the User Experience (UX) / User Interface (UI) Lab for CIS 411: Systems Analysis and Design for Messiah University

The purpose of this lab is use a modern monitoring tool to diagnose and solve performance issues with an application.

Doing the Lab

1. Pre-Requisites

  1. GitHub account
  2. Git is installed on your development machine.
  3. Text editor or other integrated development environment (IDE) for modifying code.
  4. Node is installed on your development machine.
  5. New Relic account (instructions included)

2. Lab Description

After confirming that you can spin up Graphql node application (yes, this is the same one from labs 1 & 4), you will create a New Relic account, then setup up an New Relic agent for node.js to monitor application performance. Once the New Relic monitor is receiving information, then you will run a series of (7 or more) queries and review performance.

Detailed instructions are here, and you are expected to compile your findings into a labreport following this template.

3. Submissions

You are expected to create a lab report as a markdown file under the labreports directory using the LAB_[GITHUB Handle].md naming convention in your forked repository. After you have reviewed your work, then you should submit a Pull Request to this repository with your lab report and any accompanying images/files (e.g., required diagrams). Add the Pull Request URL into the courseroom LMS (Canvas) for grading.

4. Grading Guidelines

The following elements have been incorporated into your assignment rubric.

  1. Justify Findings: Each claim (e.g., Query 1 is the least performant.) is supported by data.
  2. Investigate Alternatives: All alternative explainations for system performance are considered in addition to system design faults are levied.
  3. Pattern Recognition: Patterns to queries or response segments may lead to larger conclusions about the system design.
  4. Data Structures: The data schema of the project can be used to infer the formation of queries and mutations.
  5. Communication: The markdown file is written according to professional standards by choosing the appropriate markdown elements, links and embedded content.

Resources

Lab Specific Help:

New Relic Resources:

Understanding Markdown Syntax

License

This content is provided under the MIT license.

Credits

Special thanks to Joel Worrall, aka tangollama, for co-developing this course and this lab.

Notes

  1. All the data provided in testdata.js is completely fictious, generated by random data generation tools. If you find a real person or email address in this list, let me know and I'll publish an update. It's not in anyone's interest to expose PII (real or randomly generated).
  2. As of the publication of this lab, the New Relic nodejs agent has suboptimal support for GraphQL libraries. Thus the additional code referencing the custom instrumentation capabilities in the New Relic nodejs agent that you'll find in the project code.

About

Monitoring, observability, and performance profiling using New Relic

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 100.0%