Skip to main content

BitDive Advanced Configuration Guide

This guide explains the configuration options available in config-profiling.yml. The configuration supports different monitoring settings based on Spring profiles.

Configuration Structure

application:
moduleName: MyApp # Your module name
serviceName: MyService # Your service name
packedScanner: ["com.your.package"] # Your main package to scan

notWorkWithSpringProfiles: ["test"] # Optional: Profiles where monitoring is disabled

monitoringConfigs: # List of monitoring configurations
- forSpringProfile: ["profile1"] # Optional: Spring profile(s) for this config
# monitoring settings...

- # Default config (no profile specified)
# monitoring settings...

Profile-Based Configuration Rules

BitDive selects the appropriate monitoring configuration based on these rules:

  1. Default Configuration: When no Spring profiles are active, BitDive uses the configuration without a forSpringProfile specified.

  2. Profile-Specific Configuration: When Spring profiles are active, BitDive uses the configuration where forSpringProfile matches the active profile.

  3. Single Configuration: If there's only one configuration defined, it's used regardless of profiles.

Complete Configuration Example

application:
moduleName: web-app
serviceName: user-service
packedScanner: ["com.example.userservice"]

notWorkWithSpringProfiles: ["test"]

monitoringConfigs:
- forSpringProfile: ["test"]
logLevel: DEBUG
monitoringArgumentMethod: true
monitoringReturnMethod: true
monitoringStaticMethod: true
monitoringOnlySpringComponent: true
dataFile:
path: monitoringData
timerConvertForSend: 10
fileStorageTime: 30
sendFiles:
serverConsumer:
url: https://bitdive-server:8082
vault:
url: https://vault-server:8200
login: username
password: password123
schedulerTimer: 1000
serialization:
excludedPackages: ["com.sun.", "sun.", "org.apache.", "org.springframework."]
maxElementCollection: 50

- # Default configuration
logLevel: INFO
monitoringArgumentMethod: true
monitoringReturnMethod: true
monitoringStaticMethod: false
monitoringOnlySpringComponent: false
sendFiles:
serverConsumer:
url: https://bitdive-server:8082
vault:
url: https://vault-server:8200
login: username
password: password123

Configuration Options

Application Settings

SettingDescriptionRequired
moduleNameName of your module/applicationYes
serviceNameName of your serviceYes
packedScannerArray of package names to scanYes

Monitoring Settings

SettingDescriptionDefault
logLevelLog detail level (DEBUG/INFO/ERRORS)INFO
monitoringArgumentMethodTrack method argumentsfalse
monitoringReturnMethodTrack return valuesfalse
monitoringStaticMethodTrack static methodsfalse
monitoringOnlySpringComponentMonitor only Spring componentsfalse

Data File Settings

SettingDescriptionDefault
dataFile.pathDirectory for monitoring filesmonitoringData
dataFile.timerConvertForSendFile conversion interval (seconds)10
dataFile.fileStorageTimeFile retention period (days)30

Server Consumer Settings

SettingDescriptionRequired
sendFiles.serverConsumer.urlBitDive server URLYes
sendFiles.serverConsumer.vault.urlVault server URLYes
sendFiles.serverConsumer.vault.loginVault loginYes
sendFiles.serverConsumer.vault.passwordVault passwordYes
sendFiles.schedulerTimerSend interval (milliseconds)1000

Optional Proxy Configuration

sendFiles:
serverConsumer:
url: https://bitdive-server:8082
proxy:
url: http://proxy:8080
login: proxyuser
password: proxypass

Serialization Settings

SettingDescriptionDefault
serialization.excludedPackagesPackages to exclude from monitoring[]
serialization.maxElementCollectionMax elements in collections50

Log Levels

public enum LogLevelEnum {
ERRORS, // Only error messages
INFO, // General operations
DEBUG // Detailed debugging
}

For getting started quickly, refer to our Quick Start Guide.