Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Telemetry] Have getKibanaStats get all the usage stats persisted for Kibana features #21239

Closed
tsullivan opened this issue Jul 25, 2018 · 0 comments
Assignees
Labels
enhancement New value added to drive a business result Feature:Telemetry Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@tsullivan
Copy link
Member

When a payload of data for telemetry stats is formed, a few modules are called from x-pack/plugins/xpack_main/server/lib/telemetry/monitoring/get_all_stats.js to query for usage stats in the .monitoring-* indices. Today, getKibanaStats and getReportingStats are separate. We need to eliminate the need for the standalone getReportingStats module and make getKibanaStats "aware" of all the presisted plugin usage stats that exist in the .monitoring-kibana- data. Without this improvement, we would need to add a new module every time we integrate a new Kibana feature into telemetry.

cc @jinmu03

@tsullivan tsullivan added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc enhancement New value added to drive a business result Feature:Telemetry labels Jul 25, 2018
@tsullivan tsullivan self-assigned this Aug 20, 2018
w33ble pushed a commit to w33ble/kibana that referenced this issue Sep 13, 2018
Closes https://github.com/elastic/kibana-canvas/issues/128

Makes a summary of Canvas usage that looks like:
```
{
  "kibana_canvas": {
    "elements": {
      "per_page": {
        "avg": 2,
        "max": 3,
        "min": 1
      },
      "total": 4
    },
    "functions": {
      "in_use": [
        "filters",
        "demodata",
        "markdown",
        "render",
        "image",
        "pointseries",
        "plot",
        "getCell",
        "repeatImage"
      ],
      "per_element": {
        "avg": 4,
        "max": 5, 
        "min": 2
      },
      "total": 16
    },
    "pages": {
      "per_workpad": {
        "avg": 1,
        "max": 1,
        "min": 1
      },
      "total": 2
    },
    "workpads": {
      "total": 2
    }
  }
}
```

To complete end-to-end Telemetry functionality, More work is going on with Monitoring and Telemetry to have every registered collector automatically include the their data in the overall payload. There's ongoing work to implement that in core Kibana, but none of it blocks the PR from being merged.
- Having the Canvas usage stats automatically added to `.monitoring-kibana-*` documents depends on this PR: elastic#22030
   - That PR can be pulled to help test this PR. The result will be Canvas usage stats in the `kibana_stats` documents in `.monitoring-kibana-*`.
- Having Canvas usage stats automatically included in the telemetry payload that gets sent to Elastic depends on this unstarted issue: elastic#21239
- Without that additional work, the way to test this PR is to check for the `usage.kibana_canvas` data in the`localhost:5601/api/stats?extended=true` API response.

That pending work in Kibana core does not block this PR from getting merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Telemetry Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

1 participant