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: report
packedScanner: [com.yourcompany.yourapp.controller, com.yourcompany.yourapp.dto, com.yourcompany.yourapp.service]

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://sandbox.bitdive.io/file-acceptor
vault:
url: https://sandbox.bitdive.io/vault
login: your_username
password: your_password
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://sandbox.bitdive.io/file-acceptor
vault:
url: https://sandbox.bitdive.io/vault
login: your_username
password: your_password

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://sandbox.bitdive.io/file-acceptor
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.