All Projects → asarkar → build-time-tracker

asarkar / build-time-tracker

Licence: Apache-2.0 License
Gradle plugin that prints the time taken by the tasks in a build

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to build-time-tracker

Matomo Sdk Android
SDK for Android to measure your apps with Matomo. Works on Android phones, tablets, Fire TV sticks, and more!
Stars: ✭ 309 (+1044.44%)
Mutual labels:  tracker, metrics
Gogradle
A Gradle Plugin Providing Full Support for Go
Stars: ✭ 712 (+2537.04%)
Mutual labels:  build, gradle-plugin
build-plugin
Track your build performances like never before.
Stars: ✭ 45 (+66.67%)
Mutual labels:  build, metrics
Forma
Meta build system with Android and Gradle support.
Stars: ✭ 127 (+370.37%)
Mutual labels:  build, gradle-plugin
Androidautotrack
Android Asm 插桩 教学
Stars: ✭ 378 (+1300%)
Mutual labels:  tracker, gradle-plugin
Py Motmetrics
📊 Benchmark multiple object trackers (MOT) in Python
Stars: ✭ 768 (+2744.44%)
Mutual labels:  tracker, metrics
RocketXPlugin
🔥🔥 android 端编译加速插件🚀 自动识别未改动 module 并在编译流程中替换为 aar ,只编译改动模块,加速 Android apk 的编译速度。
Stars: ✭ 408 (+1411.11%)
Mutual labels:  build, gradle-plugin
canvas-color-tracker
A utility to track objects on a canvas by unique px color
Stars: ✭ 29 (+7.41%)
Mutual labels:  tracker
mean-stack-angular-8-blog-cms
MEAN Stack (Angular 8) Tutorial: Build a Simple Blog CMS Example
Stars: ✭ 19 (-29.63%)
Mutual labels:  build
build-status
Emacs minor mode that monitors and shows a buffer's build status in the mode line.
Stars: ✭ 26 (-3.7%)
Mutual labels:  build
user quality
Dataset for Software Evolution and Quality Improvement
Stars: ✭ 27 (+0%)
Mutual labels:  metrics
ISPC-PHPCompiler
Compile and manage multiple PHP versions easily!
Stars: ✭ 35 (+29.63%)
Mutual labels:  build
change-tracker-plugin
A Gradle plugin to help analyse the dependency between modules and run tasks only on modules impacted by specific set of changes.
Stars: ✭ 103 (+281.48%)
Mutual labels:  gradle-plugin
metalsmith-babel
A Metalsmith plugin to compile JavaScript with Babel
Stars: ✭ 19 (-29.63%)
Mutual labels:  build
sensu-plugins-mysql
This plugin provides native MySQL instrumentation for monitoring and metrics collection, including: service health, database connectivity, `InnoDB` locks, replication status, metrics collection, and sending metrics to a MySQL database.
Stars: ✭ 20 (-25.93%)
Mutual labels:  metrics
bali
Bali - Minimalist Golang build and packaging tool
Stars: ✭ 59 (+118.52%)
Mutual labels:  build
chef-prometheus-exporters
No description or website provided.
Stars: ✭ 35 (+29.63%)
Mutual labels:  metrics
gradle-upgrade-interactive
CLI to interactively upgrade gradle dependencies, inspired by yarn.
Stars: ✭ 44 (+62.96%)
Mutual labels:  build
pymia
pymia: A Python package for data handling and evaluation in deep learning-based medical image analysis
Stars: ✭ 46 (+70.37%)
Mutual labels:  metrics
openwrt-k2t-build
github actions build openwrt firmware
Stars: ✭ 14 (-48.15%)
Mutual labels:  build

build-time-tracker

Gradle plugin that prints the time taken by the tasks in a build. Requires Java 8 or later.

== Build time summary ==
 :commons:extractIncludeProto | 4S | 14% | ████
       :commons:compileKotlin | 2S |  7% | ██
         :commons:compileJava | 6S | 21% | ██████
:service-client:compileKotlin | 1S |  4% | █
        :webapp:compileKotlin | 1S |  4% | █
     :webapp:dockerBuildImage | 4S | 14% | ████
      :webapp:dockerPushImage | 4S | 14% | ████

See Gradle Plugin Portal for usage instructions.

If you are the fiddling type, you can customize the plugin as follows:

buildTimeTracker {
    barPosition = TRAILING or LEADING, default is TRAILING
    sort = false or true, default is false
    output = CONSOLE or CSV, default is CONSOLE
    maxWidth = 120, default is 80
    minTaskDuration = Duration.ofSeconds(1), don't show tasks that take less than a second to execute
    showBars = false or true, default is true
    reportsDir = only relevant if output = CSV, default $buildDir/reports/buildTimeTracker
}

If you are using Kotlin build script, set the configuration properties using property.set() method.

ℹ️ Due to a Gradle limitation , the build duration can't be calculated precisely. The bars and percentages are rounded off such that the output provides a good indication of how long individual tasks took to complete relative to the build, but are not meant to be correct up to the milliseconds.

ℹ️ It is sufficient to apply the plugin to the root project; applying to subprojects will result in duplication of the report.

⚠️ If the output terminal does not support UTF-8 encoding, the bars may appear as weird characters. If you are running Windows, make sure the terminal encoding is set to UTF-8, or turn off the bars as explained above.

⚠️ If exporting to CSV, and bars are enabled, the resulting file must be imported as UTF-8 encoded CSV data in Microsoft Excel. How to do this depends on the Operating System, and Excel version, but here is one way.

Contribute

This project is a volunteer effort. You are welcome to send pull requests, ask questions, or create issues. If you like it, you can help by spreading the word and "Starring" the GitHub repo!

License

Copyright 2021 Abhijit Sarkar - Released under Apache License v2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].