Skip to content

oslabs-beta/projectArtemis

Repository files navigation

** Artemis is currently undergoing a major re-write. If you notice any bugs please report an issue. We apologize for the inconvenience. **

A Deno-built Analytics Tool for GraphQL Queries

Artemis

from Our Team

GitHub GitHub issues GitHub All Releases GitHub last commit GitHub Repo stars

You can use Artemis without installing by visiting our online platform .

Features

Artemis provides analytics including aggregate response time, success and error instance ratios, returned data size, and persistent individual snapshots of each successful query results.

Overview

Artemis is Deno's first native GraphQL query analytics tool with a graphical user interface to visualize performance metrics.

Our dynamic GUI, compiled using Aleph.js, allows users to send query requests to external APIs that use GraphQL. Under the hood, sophisticated and performant algorithms calculate performance metrics for each query request and Artemis immediately displays them as accessible and digestible analytics for developers.

To Get Started

To install Aleph, enter the following command in your terminal.

deno install -A -f -n aleph https://deno.land/x/aleph@v0.2.26/cli.ts

Remember to export to PATH.

To load the GUI on your localhost, enter the following command in your terminal.

aleph dev

Documentation and Demo

Simply enter the endpoint URL you are testing and select the number of times to run the query, then watch as Artemis visualized your results in real time. Here is a great resource for external APIs that work with GraphQL.

You'll notice the graphs will render dynamically.

Please note the functionality to run numerous queries is still being worked on. Use the default Number of queries(1).

Making a Query

Syntax is extremely important for the success of your query.

Please refer to the following documentation if you are not familiar with GraphQL queries.

Here is an example of a query request to Space X's API.

URL: https://api.spacex.land/graphql

Query:
{
  launchesPast(limit: 10) {
    mission_name
    launch_date_local
    launch_site {
      site_name_long
    }
    rocket {
      rocket_name
      first_stage {
        cores {
          flight
          core {
            reuse_count
            status
          }
        }
      }
  }
}

The following will be populated after:

Authors

Stella Liao Erick Melendez Greg Dixon Taylor Morgan Scott Burman