fix(log): address Issue #610 review findings — perf test baseline, SDK sampled-out optimization, repo context update - #1: Split fast deterministic tests into log_sampler_fast_test (default path); add tags=['manual'] to log_performance_test; add StartLoggingWithoutSampler() and LEVEL1_NoSamplerBaselineQps4000 for true no-sampler baseline; convert LEVEL1_SamplerPassThroughMacroOverheadQps4000 to A/B comparison (no-sampler vs sampler-through); enhance PrintPureLogResult with samplerMode, samplerOnly, accessRate, diagnosticRate, achievedQps, p50/p95/p99 - #2: Java SDK — delete JavaKvAccessFields struct; pass ObjectAccessRecorder& into impl; use ObjectKeyOwned(key) for single-key setters (copy, key lifetime safe); use ObjectKeyProvider for batch-key setters (move after business use); sampled-out setter no-op via ShouldRecordInternal() early return Python SDK — RAII lambda keys capture changed from value to reference (&keys); ReadSpecifyOffsetData changed to ObjectKeyProvider with deferred evaluation - #3: repo_context docs — ShouldRecordAccess() marked as internal API only; log_rate_limit/LogRateLimiter marked as historical/removed by PR 1064; DATASYSTEM_LOG_RATE_LIMIT marked as removed; current behavior described with request_sample_rate/access_sample_rate/diagnostic_sample_rate and LogSampleConfigPb; access guard references replaced with facade descriptions Fixes: #610
fix(log): address Issue #610 review findings — perf test baseline, SDK sampled-out optimization, repo context update - #1: Split fast deterministic tests into log_sampler_fast_test (default path); add tags=['manual'] to log_performance_test; add StartLoggingWithoutSampler() and LEVEL1_NoSamplerBaselineQps4000 for true no-sampler baseline; convert LEVEL1_SamplerPassThroughMacroOverheadQps4000 to A/B comparison (no-sampler vs sampler-through); enhance PrintPureLogResult with samplerMode, samplerOnly, accessRate, diagnosticRate, achievedQps, p50/p95/p99 - #2: Java SDK — delete JavaKvAccessFields struct; pass ObjectAccessRecorder& into impl; use ObjectKeyOwned(key) for single-key setters (copy, key lifetime safe); use ObjectKeyProvider for batch-key setters (move after business use); sampled-out setter no-op via ShouldRecordInternal() early return Python SDK — RAII lambda keys capture changed from value to reference (&keys); ReadSpecifyOffsetData changed to ObjectKeyProvider with deferred evaluation - #3: repo_context docs — ShouldRecordAccess() marked as internal API only; log_rate_limit/LogRateLimiter marked as historical/removed by PR 1064; DATASYSTEM_LOG_RATE_LIMIT marked as removed; current behavior described with request_sample_rate/access_sample_rate/diagnostic_sample_rate and LogSampleConfigPb; access guard references replaced with facade descriptions Fixes: #610