Fix serialization issues with Vostok.Hosting.Houston.Communication.Models.ZooKeeperAuthSettings
Clean code.
Added EnableDnsMonitor and EnableGcMonitor to SystemMetricsSettings.
Update ClusterConfig.Client library (again).
Update ClusterConfig.Client library.
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
CustomizeAnnotationEventSendermethod toIVostokMetricsBuilder - Added
EnrichInstanceAnnotationTagsextension method toIVostokMetricsBuilderExtensions. It allows to enrich tags for annotations are written byInstancemetrics 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
CustomizeOutputTemplateextension that customizes file and console log templates. Use it with conduction ofWithPropertyAfterextension 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
CustomizeMergedSettingsMergingandCustomizeMergedConfigurationSourcemethods for setting upМergedConfigurationSource - Added
МergedConfigurationSourcetoIVostokConfigurationContext,IVostokHostingEnvironmentSetupContext - Added
МergedConfigurationSourceto host extensions (withMergedConfigurationSourcekey)
Added AddRule methods for Hercules/File/Console log builders.
Set up reporting period for GC monitor and DNS monitor.
- Added
IServiceDiscoveryEventsContextsetting - Added sending
ServiceBeaconevents
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
DiagnosticMetricsEnabledsettings - 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
WithSigtermCancellationextension method.
- Added
logsDirectoryproperty toServiceBeacon.
- Do not call
Console.Flush()whenConsoleLoghasn'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.InitialIndentsetting.
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
IVostokHostingEnvironmentBuilderto quickly setup env/app for ServiceBeacon. - Added an option to provide custom external instances of IClusterConfigClient, IHerculesSink and IZooKeeperClient.
- Added
IsEnabledproperty 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.