Intellij Idea plugin to push indexing metrics into an Elasticsearch cluster

Overview

indexing-metrics-collector

Allows gathering IntelliJ IDEA project scanning & indexing metrics for further analysis by ingesting them into an elasticsearch cluster.

This IntelliJ IDEA plugin gives developer teams the chance to analyse how much time they spent on indexing their projects. The plugin captures indexing events occurred in IDEA and pushes them into an elasticsearch cluster for further analyzise.

The captured data per indexing event includes

  • project name
  • total indexing time in ms
  • indexing reason
  • duration of file scanning in ms
  • indexing duration in ms
  • update start
  • update end
  • was full indexing (true / false)
  • was indexing interrupted (true / false)
  • platform info
    • idea application name
    • version
    • build number
    • plugin version
  • runtime info
    • max available processors
    • idea java memory settings
    • indexing thread count)
  • environment info
    • user name (can be optionally anonymized)
    • host name (can be optionally anonymized)
    • os name
    • os arch
    • os version

The elasticsearch mapping template can be found here: elasticsearch index mapping

The idea for this came up when I heard first time about shared project index for IntelliJ IDEA. If you want to know the impact of such a plugin you need to have hard numbers first. In a distributed team gathering these numbers are tricky so the idea for this plugin was born.

Installation

Configuration

The plugin provides a preference page to configure elasticsearch connection data including authentication options and index name to be used and the option (enabled by default) to anonymize user data like host name and user name

Analyzing

The captured data allows gaining further insights why and how much time is spent on indexing in idea for your developers This is an example kibana dashboard used during development of this plugin

Plugin based on the IntelliJ Platform Plugin Template.

You might also like...
VirtualTag is a name tag edit plugin for minecraft server

VirtualTag VirtualTag is a NameTag Edit plugin for modern minecraft server Support Version 1.17.x Download https://github.com/jiangdashao/VirtualTag/r

A Kotlin compiler plugin that allows Java callers to pass in null for default parameters

kotlin-null-defaults (Compiler plugin) (Gradle Plugin) ( Currently pending approval) A Kotlin compiler plugin that allows Java callers to pass in null

An open-source plugin that accommodates Starships on Minecraft servers.

Minecraft Starship Plugin An open-source plugin that accommodates starships on minecraft servers. 'A shameless rip-off of Star Legacy's plugins.' Mine

An annotation and Kotlin compiler plugin for enforcing a when statement is exhaustive

An annotation and Kotlin compiler plugin for enforcing a when statement is exhaustive

A composite Github Action to execute the Kotlin Script with compiler plugin and dependency caching!

Kotlin Script Github Action Kotlin can also be used as a scripting language, which is more safer, concise, and fun to write than bash or python. Githu

use kmm to write a flutter plugin
use kmm to write a flutter plugin

use KMM to write a flutter plugin The reference plugin_codelab example plugin that accompanies the How to write a Flutter plugin codelab. I changed pl

A plugin for Termux to use native Android GUI components from CLI applications.

Termux:GUI This is a plugin for Termux that enables command line programs to use the native android GUI. In the examples directory you can find demo v

Dokka plugin to provide the documentation model to AsciiDoxy

Dokka plugin template This repository provides a template for creating Dokka plugins (check the Creating a repository from a template article). TL;DR:

Paper plugin for third-party AuthMe logins

Interactive Login Paper plugin that extends AuthMe (or AuthMeReloaded) with interactive third-party logins. Currently supports Discord as an external

Comments
  • HTTP protocol support

    HTTP protocol support

    Hi @breskeby ,

    The plugin is awesome! I wanted to use it but noticed that the ElasticsearchClientFactory created the client with https by default. I agree that this is the best to do but unfortunately I'm facing some internal infrastructure issues that prevent me from going this route.

    Wondering if you would be open to a PR to address this by allowing folks to configure http vs https as part of ImcSettingsState

    opened by rpalcolea 3
Releases(v1.3.0)
Owner
Rene Groeschke
@elastic / ex @gradle (v0.9 - v6.3) / ex @airbus
Rene Groeschke
A CLI tool to convert multi-module Jetpack Compose compiler metrics into beautiful HTML reports

A CLI tool to convert multi-module Jetpack Compose compiler metrics into beautiful HTML reports 1. What are Jetpack Compose compiler metrics? The Comp

Jaya Surya Thotapalli 116 Jan 3, 2023
A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

common sense OSS 0 Jan 20, 2022
Adds loveable red pandas into Minecraft! Who doesn't love a Red Panda in their world?

?? Akali Adds loveable red pandas into Minecraft! Who doesn't love a Red Panda in their world? :3 This is a Forge and Fabric mod under their respected

Noel ʕ •ᴥ•ʔ 4 Jul 4, 2022
Plugin-shared-preferences - Pluto plugin to manage your Shared Preferences

Pluto Shared Preferences Plugin Pluto Shared Preferences is a Pluto plugin to in

Pluto 1 Feb 14, 2022
💫 A Gradle Plugin to generate your networking code from Swagger

Swagger Gradle Codegen A Gradle plugin to generate networking code from a Swagger spec file. This plugin wraps swagger-codegen, and exposes a configur

Yelp.com 399 Nov 28, 2022
Gradle plugin adding a task to run a Paper Minecraft server

Run Paper Run Paper is a Gradle plugin which adds a task to automatically download and run a Paper Minecraft server along with your plugin built by Gr

Jason 64 Dec 29, 2022
Spigot-Plugin message providing system written in Kotlin

teller Spigot-Plugin message providing system written in Kotlin Usage Create an instance of PropertiesMessageProvider using the Constructor with an in

Luca Zieserl 2 Jan 16, 2022
An under development minecraft plugin (1.8.8) to learning Kotlin language

CorePlus CorePlus is a minecraft plugin coded with Kotlin language. Still under development CorePlus will be an essential for each minecraft servers !

Gonz 3 Jun 16, 2021
Kotlin Native Xcode Plugin

Kotlin Native Xcode Support Plugin to facilitate debugging iOS applications using Kotlin Native in Xcode. Defines Kotlin files as source code, with ba

Touchlab 834 Jan 7, 2023
Gradle plugin for simplify Kotlin Multiplatform mobile configurations

Mobile Multiplatform gradle plugin This is a Gradle plugin for simple setup of Kotlin Multiplatform mobile Gradle modules. Setup buildSrc/build.gradle

IceRock Development 78 Sep 27, 2022