flowchart TB
KV["Key/Value"] --> MT["MetricsTracker"]
Query["Query"] --> MT
Analytics["Analytics"] --> MT
MT --> MV1["Meter v1"] & MV2["Meter v2"]
MF1 --> IM1["Couchbase SDK IMeter"] & LM["LoggingMeter"]
MV1 --> OT["OpenTelemetry"] & DM["dotnet-monitor"] & DC["dotnet-counters"] & MF1["MeterForwarder v1"]
MV2 --> OT & DM & DC & MF2["MeterForwarder v2"]
MF2 --> IM2["Couchbase SDK IMeter"]https://github.com/couchbase/couchbase-net-client/commit/ef52763720ea9f92aa449a2fdbed7206181086ec
Recent improvements to the tagging of metrics produced by Couchbase.Extensions.Tracing.Otel
have caused some of the preexisting metrics to be duplicative.
db.couchbase.operations.countis included in thedb.couchbase.operationshistogramdb.couchbase.operations.statusis now available on thedb.couchbase.operationshistogram via theoutcometagdb.couchbase.timeoutsis now available on thedb.couchbase.operationshistogram via theoutcometag as
| using System; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Text; | |
| using System.Threading.Tasks; | |
| using log4net; | |
| using log4net.Core; | |
| using log4net.Repository; | |
| using Microsoft.Extensions.Logging; | |
| using ILogger = log4net.Core.ILogger; |
| using System; | |
| using System.Collections; | |
| using System.Collections.Generic; | |
| namespace CenterEdge.Common.Events | |
| { | |
| /// <summary> | |
| /// Collection of properties associated with the event, such as tracing headers. | |
| /// </summary> | |
| public class EventProperties : IDictionary<string, string?> |
| using System; | |
| using System.Collections.Concurrent; | |
| using System.Collections.Generic; | |
| using BenchmarkDotNet.Attributes; | |
| namespace Couchbase.LoadTests | |
| { | |
| public class StatesInFlight | |
| { | |
| private readonly Dictionary<uint, object> _dictionary = new Dictionary<uint, object>(); |
This proposal is to clarify how we handle various cancellation scenarios which may cancel an in-flight operation.
Note: Should also include operations related to bootstrap like hello, auth, select bucket, etc.
| Phase | External Cancellation | Timeout Cancellation |
| Method | FileName | Mean | Error | StdDev | Median | Ratio | RatioSD | Rank |
|---|---|---|---|---|---|---|---|---|
| Snappier | alice29.txt | 4.116 us | 0.0170 us | 0.0249 us | 4.113 us | 1.20 | 0.01 | 2 |
| PInvoke | alice29.txt | 3.444 us | 0.0186 us | 0.0279 us | 3.436 us | 1.00 | 0.00 | 1 |
| Snappier | asyoulik.txt | 3.002 us | 0.0294 us | 0.0430 us | 2.980 us | 1.00 | 0.01 | 1 |
| PInvoke | asyoulik.txt | 2.998 us | 0.0132 us | 0.0198 us | 2.990 us | 1.00 | 0.00 | 1 |
| version: '3.4' | |
| # This file applies override values that are add to the values in the first file when run in Visual Studio | |
| # The idea is that you might use docker-compose up on the command line for the first file for other testing outside VS | |
| services: | |
| your-service: | |
| environment: | |
| - ASPNETCORE_ENVIRONMENT=Development | |
| ports: | |
| - "80" |
| #!/bin/bash | |
| # Include as user data during instance startup, or run as root using sudo | |
| # Assumes that you are using an i3 instance type with NVMe instance storage attached | |
| # Set swappiness to zero | |
| sysctl vm.swappiness=0 | |
| echo "vm.swappiness = 0" >> /etc/sysctl.conf | |
| # Disable transparent huge pages | |
| cat > /etc/init.d/disable-thp <<- 'EOM' |
In .Net Core, .Net Standard, and other related technologies Microsoft has moved away from synchronous method implementations for any method that may involve latency. Instead, they favor only offering async methods. This is especially true for any methods that involve I/O, such as network connections, streams, file access, etc. This forces the consuming developer to recognize the inherently asynchronous nature of the operation and develop their application based on this knowledge. It becomes a syntax-level and compiler recognized way to ensure that developers recognize the delays involved in the operation they are performing.