Meet [**Mobot**](/content/help/docs/search/mobot/index.html), our AI assistant that turns plain-language questions into log queries to accelerate investigations and simplify security workflows.

The Sumo Logic app for GitHub Copilot delivers clear, actionable visibility into Copilot adoption, engagement, and productivity across your organization. It consolidates key metrics, such as active users, suggestion efficiency, language usage, and chat activity, so you can monitor how Copilot is used and measure its impact on development workflows.

With dashboards tracking adoption trends, feature usage, engagement differences across teams, and low‑usage or zero‑engagement conditions, the app helps optimize license utilization and training opportunities. Metrics on code suggestion and acceptance rates reveal how effectively Copilot’s recommendations enhance coding efficiency, while language and chat insights highlight where Copilot drives the most value.

By unifying these data points, the Sumo Logic app for GitHub Copilot empowers you to optimize Copilot adoption, improve developer productivity, and ensure secure, data-driven use of AI-assisted coding.

## Log types

This app uses Sumo Logic’s [GitHub Copilot source](/content/help/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/github-copilot-source/index.html) to collect the [organization metrics](https://docs.github.com/en/rest/copilot/copilot-metrics?apiVersion=2022-11-28#get-copilot-metrics-for-an-organization) and [team metrics](https://docs.github.com/en/rest/copilot/copilot-metrics?apiVersion=2022-11-28#get-copilot-metrics-for-a-team) from the GitHub Copilot platform.

## Sample log messages

Metric Log

```json
{
        "date": "2024-06-24",
        "total_active_users": 24,
        "total_engaged_users": 20,
        "copilot_ide_code_completions": {
            "total_engaged_users": 20,
            "languages": [
                {
                    "name": "python",
                    "total_engaged_users": 10
                },
                {
                    "name": "ruby",
                    "total_engaged_users": 10
                }
            ],
            "editors": [
                {
                    "name": "vscode",
                    "total_engaged_users": 13,
                    "models": [
                        {
                            "name": "default",
                            "is_custom_model": false,
                            "custom_model_training_date": null,
                            "total_engaged_users": 13,
                            "languages": [
                                {
                                    "name": "python",
                                    "total_engaged_users": 6,
                                    "total_code_suggestions": 249,
                                    "total_code_acceptances": 123,
                                    "total_code_lines_suggested": 225,
                                    "total_code_lines_accepted": 135
                                },
                                {
                                    "name": "ruby",
                                    "total_engaged_users": 7,
                                    "total_code_suggestions": 496,
                                    "total_code_acceptances": 253,
                                    "total_code_lines_suggested": 520,
                                    "total_code_lines_accepted": 270
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "neovim",
                    "total_engaged_users": 7,
                    "models": [
                        {
                            "name": "a-custom-model",
                            "is_custom_model": true,
                            "custom_model_training_date": "2024-02-01",
                            "languages": [
                                {
                                    "name": "typescript",
                                    "total_engaged_users": 3,
                                    "total_code_suggestions": 112,
                                    "total_code_acceptances": 56,
                                    "total_code_lines_suggested": 143,
                                    "total_code_lines_accepted": 61
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        "copilot_ide_chat": {
            "total_engaged_users": 13,
            "editors": [
                {
                    "name": "vscode",
                    "total_engaged_users": 13,
                    "models": [
                        {
                            "name": "default",
                            "is_custom_model": false,
                            "custom_model_training_date": null,
                            "total_engaged_users": 12,
                            "total_chats": 45,
                            "total_chat_insertion_events": 12,
                            "total_chat_copy_events": 16
                        }
                    ]
                }
            ]
        },
        "copilot_dotcom_chat": {
            "total_engaged_users": 14,
            "models": [
                {
                    "name": "default",
                    "is_custom_model": false,
                    "custom_model_training_date": null,
                    "total_engaged_users": 14,
                    "total_chats": 38
                }
            ]
        },
        "copilot_dotcom_pull_requests": {
            "total_engaged_users": 12,
            "repositories": [
                {
                    "name": "demo/repo1",
                    "total_engaged_users": 8,
                    "models": [
                        {
                            "name": "default",
                            "is_custom_model": false,
                            "custom_model_training_date": null,
                            "total_pr_summaries_created": 6,
                            "total_engaged_users": 8
                        }
                    ]
                },
                {
                    "name": "demo/repo2",
                    "total_engaged_users": 4,
                    "models": [
                        {
                            "name": "a-custom-model",
                            "is_custom_model": true,
                            "custom_model_training_date": "2024-02-01",
                            "total_pr_summaries_created": 10,
                            "total_engaged_users": 4
                        }
                    ]
                }
            ]
        }
}
```

## Sample queries

Code Suggestion Acceptance Rate Over Time

```sumo
_sourceCategory="Labs/GithubCopilot"
| json "date","copilot_ide_code_completions.editors[*].models[*].languages[*]" as date, copilot_ide_code_completions_editors_models_languages nodrop
| extract field=copilot_ide_code_completions_editors_models_languages ""?(?<editor_language>{[^}]+})"?[,
]]" multi
| json field=editor_language "total_code_acceptances", "total_code_suggestions", "name", "total_code_lines_accepted", "total_code_lines_suggested" as code_acceptances, code_suggestions, name, code_lines_accepted, code_lines_suggested
| where _type matches "{{_type}}"
| sum(code_acceptances) as total_code_acceptances, sum(code_suggestions) as total_code_suggestions by date
| (total_code_acceptances/total_code_suggestions)*100 as acceptance_rate
| round(acceptance_rate, 2) as acceptance_rate
| count by date, acceptance_rate
| sort by date desc
| fields - _count
```

## Collection configuration and app installation

Depending on the set up collection method, you can configure and install the app in three ways:

- **Create a new collector and install the app**. Create a new Sumo Logic Cloud-to-Cloud (C2C) source under a new Sumo Logic Collector and later install the app, or
- **Use an existing collector and install the app**. Create a new Sumo Logic Cloud-to-Cloud (C2C) source under an existing Sumo Logic Collector and later install the app, or
- **Use existing source and install the app**. Use your existing configured Sumo Logic Cloud-to-Cloud (C2C) source and install the app.

Use the [Cloud-to-Cloud Integration for GitHub Copilot](/content/help/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/github-copilot-source/index.html) to create the source and use the same source category while installing the app. By following these steps, you can ensure that your GitHub Copilot app is properly integrated and configured to collect and analyze your GitHub Copilot data.

### Create a new collector and install the app

To set up collection and install the app, do the following:

1. Select **App Catalog**.
2. In the 🔎 **Search Apps** field, run a search for your desired app, then select it.
3. Click **Install App**.
4. In the **Set Up Collection** section of your respective app, select **Create a new Collector**.
5. Configure the collector and source as specified in the instructions.

## Viewing the GitHub Copilot dashboards

All dashboards have a set of filters that you can apply to the entire dashboard. Use these filters to drill down and examine the data to a granular level.

- You can change the time range for a dashboard or panel. 
- You can use template variables to drill down and examine the data on a granular level.

### Adoption and Anomaly

The **GitHub Copilot - Adoption and Anomaly** dashboard offers a unified view of Copilot usage across your organization. It surfaces engagement patterns across key features, such as code completions, IDE chat, and pull-request summaries, while enabling side-by-side comparisons between teams and organizational averages.

### Code Completion Efficiency

The **GitHub Copilot - Code Completion Efficiency** dashboard evaluates how effectively you use Copilot’s code suggestions across languages and timeframes. It tracks suggestion and acceptance rates, compares accepted versus suggested lines of code, and highlights efficiency variations by language.

### Language Insights

The **GitHub Copilot - Language Insights** dashboard reveals how you use Copilot across programming and configuration languages.

### Chat Engagement and Interaction Quality

The **GitHub Copilot - Chat Engagement and Interaction Quality** dashboard offers visibility into how you use Copilot’s chat features across development environments.

## Upgrading the GitHub Copilot app (Optional)

To update the app, follow the instructions to access the app catalog and select your app.
