Managing organizations

All data in Graph Manager belongs to a particular organization. Currently,
every Graph Manager organization corresponds to either an individual GitHub user or a GitHub organization.

Single-member organizations

When you create your Graph Manager account via GitHub, an organization is created for you
with the same name as your GitHub username. Other users cannot join this organization.
Feel free to use this organization to try out the features of Graph Manager.

Collaborating in an organization

Graph Manager automatically creates an organization for every GitHub organization
it's granted access to. When you first log in to Graph Manager, it requests permission to view your GitHub organizations, along with the members and teams in those organizations (but not the code).

Every member of a GitHub organization is automatically also a member of the corresponding Graph Manager organization (assuming they create a Graph Manager account).

WARNING: Currently, all members of a Graph Manager organization have full permissions
for the organization, including the ability to delete graphs or transfer them
out of the organization.

Adding and removing organization members

To add or remove members from a Graph Manager organization, add or remove those
same members from the corresponding GitHub organization. Note that only the owner
of a GitHub organization can remove members.

Viewing your organizations

The Graph Manager homepage lists the organizations you belong to in the left-hand column.
Click on an organization to view its associated data.

If you’re a member of a GitHub organization and you don't see a corresponding organization in Graph Manager, it's probably because Graph Manager hasn't been granted access
to that organization.

Creating and removing organizations

You can view and modify Graph Manager's current access to your GitHub
organizations on this GitHub page. Note that only owners of a GitHub organization can modify access.

To create a Graph Manager organization for a particular GitHub organization, simply
grant Graph Manager access to the GitHub organization.

Removing a Graph Manager organization does not delete its associated data. It
does, however, remove all users from the organization. This prevents anyone from accessing
the organization's data and settings until the organization is recreated.

GitHub permissions and privacy

Graph Manager uses GitHub’s OAuth service to obtain read-only information about organizations and users. Graph Manager does not request access rights to your source code or to any other sensitive data.

Managing graphs

A graph in Graph Manager represents the data graph for a single project or application. Every graph has its own associated GraphQL schema.

Creating a graph

To create a graph in the Graph Manager interface, first select the Graph Manager organization
that the graph will belong to. Then click New Graph in the upper right and
proceed through the creation flow.

Note that every graph in Graph Manager has a globally unique graph ID. We recommend that you prefix your graph IDs with the name of your company or organization to avoid naming collisions.

Viewing graph information

After selecting an organization in Graph Manager, click on a particular graph
to view its data and settings. All of a Graph Manager organization's members have
access to the data and settings for every graph that belongs to that organization.

Transferring graph ownership

You can transfer a graph to a different Graph Manager organization you belong to
by visiting the graph's Settings page and changing the graph owner.

Deleting a graph

Deleting a graph cannot be undone!

You can delete a graph from Graph Manager by visiting its Settings page and clicking
Delete.

Distinguishing between application environments

Every graph in Graph Manager should correspond to a single application. However, a single
application might run in multiple environments (such as test, staging, and production).

To distinguish between graph activity for different application environments, you can define variants for a graph. Each variant has its own schema
that can (but doesn't have to) differ from the default variant.

When your server sends metrics to Graph Manager, it can associate an operation with
a particular variant. Variants appear as separate items in your organization's graph list, allowing you to view analytics for
each application environment in isolation.

Ingesting and fetching data

Graph Manager ingests and stores performance metrics data sent from your GraphQL server.
Use one of the following methods to send data to Graph Manager:

API keys

Any system that communicates with Graph Manager (whether to send metrics or fetch them)
must use an API key to do so. You can add and remove API keys from your graph
from its Settings page in the Graph Manager UI.

You should use a different API key for each system that communicates
with Graph Manager. This provides you with more granular control over how Graph
Manager data is sent and accessed.