Koin Tooling and Performance Monitoring
Kotzilla, the company backing Koin, not only drives its ongoing development but also builds powerful tools to empower Kotlin developers.
Koin Built-in Monitoring
Koin provides built-in tracing and monitoring capabilities through raw logging, which is useful for development but not practical for production applications.
Features
- Module Verification - Validate your Koin configuration at compile-time or runtime
- Tracing API - Track dependency resolution and lifecycle events
- Performance Metrics - Monitor injection performance and memory usage
- Logging - Built-in logger support (SLF4J, Android, etc.)
startKoin {
// Enable detailed logging (development only)
printLogger(Level.DEBUG)
// Your modules
modules(appModule)
}
Raw Logs: Built-in monitoring uses raw console/logcat output, which is suitable for development debugging but not for production apps. For production-ready monitoring with dashboards, metrics, and analytics, see the Kotzilla Platform section below.
Learn More: See Koin Built-in Tracing & Monitoring for complete documentation on built-in monitoring features.
External Development Tools
Koin Plugin for Android Studio & IntelliJ IDEA
The pragmatic Kotlin and Kotlin Multiplatform Dependency Injection framework now with native support for IntelliJ IDEA and Android Studio.
Features:
- Code Navigation - Navigate between DSL/Annotations configuration and source code
- Jump from definition declarations to injection points and vice versa
- Navigate to usages of definitions across your codebase
- Live Safety Checks - Real-time configuration validation
- Verify that definitions match their usage sites
- Catch configuration errors before runtime
- Definitions & Modules View - Tree view of your Koin configuration
- Visualize all modules and their definitions
- Understand your dependency graph structure
- Issues Detection - Comprehensive error reporting
- Local issues view for configuration problems
- Kotzilla-detected issues integration
- Multiplatform Support - Works with KMP projects
Download: Jetbrains Marketplace
Quick Start with IDE Plugin
After installing the plugin:
- Open your Koin module files (
.ktfiles withmodule { }declarations) - Use Ctrl+Click (Cmd+Click on Mac) to navigate bidirectionally:
- From injection point → definition
- From definition → usages
- Check the Definitions/Modules tool window to visualize your Koin structure
- Monitor the Issues panel for configuration safety warnings
- Get live feedback as you modify your Koin configuration
Production Monitoring & Analytics
Crash Reporting & Performance Monitoring with Kotzilla Platform
Console-based suite with connected cloud services that visualizes your Koin module structure, monitors runtime performance and memory metrics, provides advanced debugging and tracing, and seamlessly integrates with Kotlin Multiplatform projects.
Features:
- Visual Module Structure - See your dependency graph in real-time
- Runtime Performance Monitoring - Track injection performance in production
- Memory Metrics - Identify memory leaks and optimize resource usage
- Advanced Debugging - Step-by-step dependency resolution traces
- Crash Reporting - Koin-specific crash analysis and reporting
- KMP Integration - Full support for multiplatform projects
- Production Analytics - Understand how your app uses dependencies in the wild
Sign Up: Free signup on Kotzilla
Getting Started with Kotzilla
-
Sign up for a free account at kotzilla.io
-
Install the SDK in your project:
dependencies {
implementation("io.kotzilla:kotzilla-sdk:$kotzilla_version")
} -
Configure your Koin application with the
analytics()function:Android:
startKoin {
analytics() // Setup Kotzilla SDK
modules(appModule)
}Android & Compose with KoinApplication():
KoinApplication(
application = { analytics() } // Setup Kotzilla SDK
) {
// Your composables
}Compose Multiplatform:
startKoin {
analytics() // Setup Kotzilla SDK
modules(appModule)
} -
Deploy your app and view metrics in the Kotzilla dashboard
Platform-Specific Setup Guides:
Testing Tools
Module Verification
Koin provides multiple approaches to verify your modules:
1. Runtime Verification (Koin Test API)
class ModuleCheckTest : KoinTest {
@Test
fun checkKoinModules() {
koinApplication {
modules(appModule)
checkModules()
}
}
}
2. Compile-Time Safety (Koin Annotations)
@Module
@ComponentScan("com.myapp")
class AppModule
With Koin Annotations and KSP, your configuration is verified at compile time, catching errors before runtime.
Learn More: See Injecting in Tests for complete testing documentation.
Coming Soon: The Kotzilla team is actively working on comprehensive CI/CD support for all tooling, expanding beyond the current Koin Test API and Koin Annotations compile-time safety.
Choosing the Right Tools
| Tool | Best For | Platform Support |
|---|---|---|
| Built-in Monitoring | Development debugging (raw logs) - enhanced by Kotzilla SDK | All platforms |
| IDE Plugin | Code navigation, live safety checks, visualization | Android, JVM, KMP |
| Kotzilla Platform | Production monitoring, crash reporting, analytics | Android, iOS, JVM, KMP |
| Testing Tools | Runtime/compile-time verification | All platforms |
Recommended Setup:
- Use IDE Plugin during development for navigation and live safety checks
- Use Built-in Monitoring for local debugging (raw logs) - enhanced and visualized by Kotzilla Platform SDK
- Use Koin Annotations for compile-time safety (optional)
- Use Kotzilla Platform for production-ready monitoring, dashboards, and analytics
- Use Testing Tools in CI/CD pipelines to catch configuration errors early
Resources
- Koin Built-in Monitoring - Complete documentation on built-in features
- Koin Testing - Testing strategies and tools
- Koin Annotations - Compile-time verification with KSP
- Kotzilla Platform - Production monitoring platform
- IDE Plugin Documentation - Plugin features and usage