Found 28 packages
Correlate requests between microservices using a correlation ID.
Provides abstractions to correlate requests between microservices.
Dependency injection extensions for Correlate.
ASP.NET Core middleware component to correlate requests between microservices using correlation ID request headers.
Hangfire integration of Correlate to add correlation id support to Hangfire background/scheduled jobs.
Enriches log by CorrelationId property from ICorrelationContextAccessor
Rebus integration of Correlate to correlate message flow via any supported Rebus transport.
ASP.NET Core middleware processing incoming request correlation ID, together with HTTP message handler for forwarding correlation ID to subsequent requests.
Provides an ASP.NET (classic/.NET Framework) HTTP module to correlate requests between microservices using correlation ID request headers.
Elsa is a set of workflow libraries and tools that enable super-fast workflowing capabilities in any .NET Core application. This package provides the following Workflow activities: * Correlate * Finish * Signaled * Start * TriggerSignal * TriggerWorkflow
Basic redis backed implementations of the interfaces in RegenerativeDistributedCache.Interfaces for an external (network) cache, a fan out pub/sub message bus, and a distributed locking mechanism for use with RegenerativeDistributedCache.RegenerativeCacheManager.
A cache that supports scheduling the regeneration of cache items in the background ahead of their expiry and manages this across a farm of web/service nodes minimising duplicated cache value generation work.
This logging library makes large use of enterprise correlation. In a lot of applications that incorporate various small and large services, it is often important to correlate events that happen across these services. It gives us a business workflow view of the various events that happen in the application, its components and services. This library provide operation and activity ID management and propagation. The main difference with this library over other is that you can configure each type of log separately. You can enable fatal, error, warning, debugging, informational, progress and sensitive data logging all independently of each other. This is more flexible than the concept of minimum level logging, such as that in log4net or serilog e.g. enabling one warning in this libraries will enable error and fatal logging as well. This library allows you to set those settings independently of each other. The SqlLogger maps AdditionalData to table columns, where the key of the dictionary entry is the column name and the value is serialised to JSON as the column value. MetaData is serialised to a single JSON value stored in the MetaData column. This means you can store data such as a User ID or Job ID in a separate column so you can filter more efficiently with indexes and partitions. TraceLogger and ConsoleLogger both seralise and format all information into a single string. The MultiLogger allows you to configure several different loggers to be used at once with different settings for each logger. Usage is in the form of: static void Main() { ICorrelationIdHelper correlationIdHelper = new WebCorrelationIdHelper(); // This value will be set automatically to all logs within this thread... so long as System.Threading.Tasks.Task.Factory.StartNew is used. correlationIdHelper.SetCorrelationId(Guid.NewGuid()); DoSyncWork(); DoAsyncWork(); } static void DoSyncWork() { ILogger logger = new SqlLogger(); logger.LogDebug("Some technical debugging details."); } static void DoAsyncWork() { System.Threading.Tasks.Task.Factory.StartNew(() => { ILogger logger = new ConsoleLogger(); logger.LogInfo("An informative message."); }); } This package installs cdmdotnet.Logging.dll with includes core logging functionality. Other packages depend on cdmdotnet.Logging for specific implementations.
Elastic APM integration with Microsoft.Extensions.Logging.Configuration. This package automatically captures logs on error level as APM errors and correlates those to APM traces when the APM agent is active.
A Serilog sink that correlates log events with the code that produced them, enabling unit testing of log output.
Chinchilla.Logging is a .NET Core port of cdmdotnet.Logging, an abstracted logging platform for .NET. It can help you collect reliable logs for your application regardless of its size or complexity with minimal performance implications. This logging library makes large use of enterprise correlation. In a lot of applications that incorporate various small and large services, it is often important to correlate events that happen across these services. It gives us a business workflow view of the various events that happen in the application, its components and services. This library provide operation and activity ID management and propagation. The main difference with this library over other is that you can configure each type of log separately. You can enable fatal, error, warning, debugging, informational, progress and sensitive data logging all independently of each other. This is more flexible than the concept of minimum level logging, such as that in log4net or serilog e.g. enabling one warning in this libraries will enable error and fatal logging as well. This library allows you to set those settings independently of each other. The SqlLogger maps AdditionalData to table columns, where the key of the dictionary entry is the column name and the value is serialised to JSON as the column value. MetaData is serialised to a single JSON value stored in the MetaData column. This means you can store data such as a User ID or Job ID in a separate column so you can filter more efficiently with indexes and partitions. EventLogger, TraceLogger and ConsoleLogger both seralise and format all information into a single string. The MultiLogger allows you to configure several different loggers to be used at once with different settings for each logger. See https://github.com/cdmdotnet/logging/wiki/Quick-How-To for usage details. This package installs Chinchilla.Logging.dll which includes core logging functionality. Other packages depend on Chinchilla.Logging for specific implementations.
Atatus .NET Extensions Logging integrates with with Microsoft.Extensions.Logging.Configuration to capture logs as errors and correlate them with APM.
Library of extension methods for adding/receiving the x-request-id header to correlate server and client requests with backend logging and subsequent calls.
It is well known that DateTime.Now is often used inappropriately. For example, it may be used together with TimeSpan to produce a task's timeout point or subtracted from another DateTime to calculate a duration. This can cause subtle bugs because DateTime is not monotonic: the system clock can change, making the result of the subtraction inaccurate -- potentially causing a premature timeout or an infinite loop. Yet, DateTime is an incredibly convenient and widely used value type in .NET code and is especially useful when printed in ISO-8601 format (with the "O" format specifier). With the "O" specifier, you can resolution down to tenths of a microsecond, which is nice. Until you learn that the resolution of the system clock is usually more coarse than several *milliseconds*, making the additional decimal places misleading garbage values. For calculating durations (time between events), it is better to use a high-resolution and monotonic clock like that provided by System.Diagnostics.Stopwatch: on most computers it is far more **accurate** than DateTime.Now even though, seemingly paradoxically, on a few systems, its *resolution* is lower than that of DateTime. Also, unsurprisingly, Stopwatch does not provide values that correlate to times of day: while it is appropriate for calculating durations, it is inappropriate for timestamping against a readable date and time. This library provides timestamps (both as DateTime and as analogous value types it defines) that use the Stopwatch (and your system's high peformance event counter) as its clock, but returns values as DateTimes or an analog thereto so that these values can be used for a mixed purpose of timestamping and providing a meaningful way to calculate time elapsed between events or to calculate how long to perform a programmatic task.
Elsa is a set of workflow libraries and tools that enable super-fast workflowing capabilities in any .NET Core application. This package provides the following Workflow activities: * Correlate * Finish * Signaled * Start * TriggerSignal * TriggerWorkflow