Class PrometheusMetricsExporter
java.lang.Object
cloud.opencode.base.cache.metrics.PrometheusMetricsExporter
Prometheus Metrics Exporter - Export cache metrics in Prometheus format
Prometheus 指标导出器 - 以 Prometheus 格式导出缓存指标
Exports cache metrics in Prometheus text-based exposition format, suitable for scraping by Prometheus server.
以 Prometheus 文本格式导出缓存指标,适合 Prometheus 服务器抓取。
Exported Metrics | 导出的指标:
- cache_hits_total - Total cache hits | 总缓存命中数
- cache_misses_total - Total cache misses | 总缓存未命中数
- cache_requests_total - Total requests | 总请求数
- cache_evictions_total - Total evictions | 总淘汰数
- cache_size - Current cache size | 当前缓存大小
- cache_hit_ratio - Cache hit ratio | 缓存命中率
- cache_load_duration_seconds - Load latency histogram | 加载延迟直方图
- cache_get_duration_seconds - Get latency percentiles | 获取延迟百分位数
Usage Examples | 使用示例:
// Create exporter - 创建导出器
PrometheusMetricsExporter exporter = PrometheusMetricsExporter.create();
// Register caches - 注册缓存
exporter.register("users", userCache);
exporter.register("products", productCache);
// Or auto-register all managed caches - 或自动注册所有托管缓存
exporter.registerAll(CacheManager.getInstance());
// Export metrics - 导出指标
String metrics = exporter.export();
// Use in HTTP endpoint - 在 HTTP 端点中使用
// GET /metrics -> returns Prometheus format
Features | 主要功能:
- Prometheus text exposition format - Prometheus 文本导出格式
- Auto-register all managed caches - 自动注册所有托管缓存
- Latency histogram export - 延迟直方图导出
- Custom label support - 自定义标签支持
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe: Yes - 空值安全: 是
- Since:
- JDK 25, opencode-base-cache V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for PrometheusMetricsExporter PrometheusMetricsExporter 构建器 -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Create exporter builder 创建导出器构建器static PrometheusMetricsExportercreate()Create exporter with default settings 使用默认设置创建导出器static PrometheusMetricsExporterCreate exporter with namespace 使用命名空间创建导出器export()Export all metrics in Prometheus format 以 Prometheus 格式导出所有指标voidExport all metrics to writer 将所有指标导出到写入器Register a cache for metrics export 注册缓存以导出指标registerAll(CacheManager manager) Register all caches from CacheManager 从 CacheManager 注册所有缓存unregister(String name) Unregister a cache 取消注册缓存
-
Method Details
-
create
Create exporter with default settings 使用默认设置创建导出器- Returns:
- exporter | 导出器
-
create
Create exporter with namespace 使用命名空间创建导出器- Parameters:
namespace- metric namespace prefix | 指标命名空间前缀- Returns:
- exporter | 导出器
-
builder
Create exporter builder 创建导出器构建器- Returns:
- builder | 构建器
-
register
Register a cache for metrics export 注册缓存以导出指标- Type Parameters:
K- key type | 键类型V- value type | 值类型- Parameters:
name- cache name | 缓存名称cache- the cache | 缓存- Returns:
- this exporter | 此导出器
-
registerAll
Register all caches from CacheManager 从 CacheManager 注册所有缓存- Parameters:
manager- cache manager | 缓存管理器- Returns:
- this exporter | 此导出器
-
unregister
Unregister a cache 取消注册缓存- Parameters:
name- cache name | 缓存名称- Returns:
- this exporter | 此导出器
-
export
Export all metrics in Prometheus format 以 Prometheus 格式导出所有指标- Returns:
- Prometheus format metrics | Prometheus 格式指标
-
export
Export all metrics to writer 将所有指标导出到写入器- Parameters:
writer- output writer | 输出写入器- Throws:
IOException- on write error | 写入错误时抛出
-