v1.0.0
-
Added
ClickHouseTrackingFlushMiddleware: a PSR-15 request-end flush that wraps
the downstream handler intry/finally, flushes both trackers, and logs/swallows
flush failures so analytics never breaks the response flow. -
config/di.phpnow bindsClickHouseTrackingFlushMiddlewarealongside
ExposureTrackerandConversionTracker. -
Trackers implement
FlushableTrackerfrom core ^1.2, so composites and apps can flush through the tracker interfaces. -
Auto-flush: the buffer is written automatically once it reaches
autoFlushSize(default 1000, configurable via params). A failed auto-flush never throws into the request; events are kept and retried, capped at ten thresholds. -
is_stickycolumn in both tables and inCOLUMNS; sticky assignments are distinguishable in analytics. -
ClickHouseExposureTracker— buffers exposures and writes them to ClickHouse onflush(). -
ClickHouseConversionTracker— buffers conversions (withgoal) and writes them onflush(). -
Built on
rasuvaeff/clickhouse-toolkitClickHouseBatchWriter; tracking never blocks the request. -
migrations/— ClickHouse DDL forab_exposuresandab_conversions(MergeTree, monthly partitions), applied by the toolkit'sClickHouseMigrationRunner. -
Yii3 config-plugin: binds
ExposureTracker,ConversionTracker, andClickHouseTrackingFlushMiddlewarefromconfig/di.php; table names and batch size inconfig/params.php.