Addded ForceBeaconRegistrationWait
option.
Bump NuGet deps versions
Update ClusterClient library.
Rebuild nuget package to use new version of Hercules.Client.Abstractions.
Added LocalServiceDiscoveryIPv4
to VostokEnvironmentVariables
Fixed WithSigtermCancellation
to use PosixSignalRegistration
for properly stop application on SIGTERM
with .net 6.
Updated depenedencies.
Updated depenedencies.
Fixed tests with DevNullZooKeeperClient
.
Fixed IZooKeeperClient
null reference error during VostokHostingEnvironment
building.
Added default value for HostMetricsReportingPeriod
setting.
Added UseActivitySourceTracer
setting and ActivitySourceTracer
setup.
Reverted made IVostokApplicationIdentityExtensions.FormatServiceName
public.
Made IVostokApplicationIdentityExtensions.FormatServiceName
public.
Added SetRandomFreePort
environment builder extensions.
Added SetupSourceFor
configuration builder extensions.
Made some internals parts public for use in hosting.aspnetcore
.
Added ConfigureStaticProvider
callbacks for IServiceLocator
and IZooKeeperClient
.
- Added
CustomizeAnnotationEventSender
method toIVostokMetricsBuilder
- Added
EnrichInstanceAnnotationTags
extension method toIVostokMetricsBuilderExtensions
. It allows to enrich tags for annotations are written byInstance
metrics context.
HostExtensions : IVostokHostExtensionsForKeyed
Filled hercules client tracing annotations.
Fixed #88 - Don't automatically enable a manually disabled components
Added Enable
and IsEnabled
method to IVostokFileLogBuilder
, IVostokConsoleLogBuilder
, IVostokHerculesLogBuilder
.
Fixed small bug with EnsureSuccess
in WithSigtermCancellation
.
Moved health checks launch to after warmup.
Added configuration health check.
Added ServiceDiscoveryEventsContextProvider
configure.
- Added
CustomizeOutputTemplate
extension that customizes file and console log templates. Use it with conduction ofWithPropertyAfter
extension forOutputTemplate
. - Log dotnet environment variables on host start.
Append host name from EnvironmentInfo.Host
to LogProperties.
Bump ClusterConfig dependency version
Bump ClusterConfig dependency version
- Combine configuration sources in correct order
- Added
CustomizeMergedSettingsMerging
andCustomizeMergedConfigurationSource
methods for setting upМergedConfigurationSource
- Added
МergedConfigurationSource
toIVostokConfigurationContext
,IVostokHostingEnvironmentSetupContext
- Added
МergedConfigurationSource
to host extensions (withMergedConfigurationSource
key)
Added AddRule
methods for Hercules/File/Console log builders.
Set up reporting period for GC monitor and DNS monitor.
- Added
IServiceDiscoveryEventsContext
setting - Added sending
ServiceBeacon
events
Fixed misuse of structured log.
Fixed lambda closure in BuildContext
related to HerculesSink
.
Log secret settings updates.
Added net6.0
target.
Added OnApplicationStateChanged
property to VostokMultiHostApplication
.
Fixed #61 again.
- Added DNS health check
- Now scraping log and hercules metrics on dispose. (Revert of 0.3.22)
- Fixed a couple of small dispose leaks
- Enabled DNS latency metric scraping
Update dependencies.
- Added
DiagnosticMetricsEnabled
settings - Fixed #60
Added possibility to target setup of host metrics.
Made DevNull implementations public for testing purposes.
Added IDatacenters
to setup context.
Fixed possible deadlock when using configuration for logging setup.
Revert log scraping
Now scraping log and hercules metrics on dispose.
Added public name constants for diagnostic components names (health checks and info providers).
Enabled ClusterConfig json remote settings merge with local by default.
Updated default system metrics scraping period
Cast host name to lower for metrics paths.
Added IVostokHostShutdown
interface to HostExtensions.
Added CustomizeTracer
method to IVostokTracerBuilder
Fixed #41
Added Dynamic thread pool
feature.
IVostokConfigurationBuilder now allows to obtain intermediate configuration models between adding sources. See methods
with GetIntermediate
prefix.
Fixed #46
Added SetupMinimumLevelProvider
method to log builders.
Added ProcessMetricsReportingPeriod
and HostMetricsReportingPeriod
system metrics setting.
Added Enable
method to components builders.
VostokHostSettings: added settings to make sure the service beacon has successfully registered. Moved beacon start to initialization.
Added async suffix to VostokMultiHostExtensions
.
Changed child log behaviour in VostokMultiHost
.
Fixed bug with log level metrics.
Setup sources for RequiresMergedConfiguration
.
IZooKeeperCientBuilder: setup ZooKeeperClient logins and passwords
Added VostokMultiHost
.
Fixed configured loggers log timestamp and context.
- Do not dispose external components.
- Not log dispose on non-disposable components.
Implemented #32.
Added annotations for app lifecycle events: launching, initialized, stopping.
Support for annotation event senders.
- Enabled reporting of process metrics by default;
- Added limit-based process system metrics;
- Added optional logging/reporting of host system metrics;
IVostokHostingEnvironmentBuilder: added an overload of SetupSystemMetrics with IVostokHostingEnvironment parameter.
- Added log level metrics (Amount of log events by level).
- Added health check metrics.
- Added Sigterm handling via
WithSigtermCancellation
extension method.
- Added
logsDirectory
property toServiceBeacon
.
- Do not call
Console.Flush()
whenConsoleLog
hasn't actually been configured.
- New host extensions: GarbageCollectionMonitor (only on .NET Core 3.0+), CurrentProcessMonitor.
- Garbage collection logging enabled by default (for collections longer than 500 ms).
- Garbage collection metrics enabled by default (total duration, longest duration).
- Current process system metrics logging enabled default (CPU, memory, GC, threadpool, ...).
- Current process system metrics reporting can be enabled manually.
- Implemented diagnostic info providers
- Implemented health checks
- Now passing app instance instead of type to requirement checker/detector
- Fill
MetricContextProvider
. - Fill
ConfigurationProviderSettings.InitialIndent
setting.
Fixed #10
- SubstitutableLog is public now.
- SubstitutableLog: added IsBuffering property.
- IVostokHostExtensionsBuilder: added non-generic overloads with type to Add method.
VostokHost now picks up shutdown timeout specified via environment builder.
Fixed config placeholder substitutions.
- Added extensions on
IVostokHostingEnvironmentBuilder
to quickly setup env/app for ServiceBeacon. - Added an option to provide custom external instances of IClusterConfigClient, IHerculesSink and IZooKeeperClient.
- Added
IsEnabled
property to all builders that are capable of being disabled so that one can apply post-tuning only if respective components are enabled. - Added getters for identity components so that one can set missing values without risking to overwrite previous configuration.
- Added default config placeholder substitutions (identity values, SD env and app, CC zone, local datacenter).
- It's now possible to customize config sources with arbitrary wrappers.
Fix ClusterClientDefaults.ClientApplicationName
filling.
Log application dispose.
VostokHost received two new methods for lifecycle management: Start and Stop. These are useful for testing.
- VostokHost is now suitable to serve as a base class for other hosts.
- VostokHostSettings: increased default shutdown timeout to 10 seconds.
- VostokApplicationState received four new values: EnvironmentSetup, EnvironmentWarmup, CrashedDuringEnvironmentSetup, CrashedDuringEnvironmentWarmup.
Environment variable names are public now.
- Statically configured parts of application identity can now be used during configuration setup.
- Identity members can now be specified via environment variables.
- Clear messages for errors related to incomplete identities.
AddAppSettingsJson extension now recognizes DOTNET_ENVIRONMENT env variable.
Update lz4 and hercules.client.
Local hostname can be configured using 'VOSTOK_LOCAL_HOSTNAME' environment variable.
VostokHost: log environment info before startup.
Log datacenters, init them before ApplicationIdentity.
Fix lazy setup for configuration.
Added extensions to quickly set ServiceBeacon's url scheme.
- Implemented #3.
- Now warming up configuration and ZK connection before app initialization by default.
- ThreadPool tuning multiplier is now configurable.
- Additional environment configuration extensions (DisableZooKeeper, EnableClusterConfig).
Minor fixes.
- Added an option to configure HerculesSink topology from an external URL.
- Fixed backward compatibility for chained calls in IVostokConfigurationBuilder.
- Added configuration extensions to use settings from common sources.
- Added support for configuration sources nesting.
- Added support for log filtering and enrichment rules configured from hot settings.
- Added an option to fully disable ClusterConfig and Hercules.
- Added a log-based metric event sender for debugging.
- It's now possible to specify a port with disabled ServiceBeacon.
- VostokHost now handles OperationCanceledException from applications correctly.
- VostokHost now logs more details about the hosting environment, including app configuration.
- HerculesSink is now disposed before ServiceLocator as it relies on service discovery.
- Default FileLog configuration now includes day-by-day rolling strategy.
- Default log level for ZooKeeper client is now 'Warn'.
Update ServiceDiscovery nuget dependencies.
Fill ClusterClientDefaults.ClientApplicationName
if ConfigureStaticProviders
specified.
Initial prerelease.