# MoonBit Prometheus/OpenMetrics 指标 SDK 项目申报书

## 基本信息
- 项目名称：MoonBit Prometheus/OpenMetrics 指标 SDK
- 参赛者：guiqi695
- 联系方式：3752029692@qq.com
- GitHub 仓库链接：https://github.com/guiqi695/moon-prometheus-sdk
- 项目方向：可观测性基础设施 / MoonBit 生态库
- 是否为移植项目：否（参考开放规范的原创 MoonBit 实现）

## 项目简介

MoonBit Prometheus/OpenMetrics 指标 SDK 为长期运行的 MoonBit HTTP/RPC 服务、后台任务和消息消费者提供标准指标模型、采集与文本输出能力，可接入 Prometheus、Grafana 和告警体系。项目将指标对象、注册表、采集快照、文本序列化和 HTTP 协商分离，使服务能以受控的标签基数和确定性输出暴露可观测性数据。

核心实现同时考虑 portable target 的确定性存储与 Native 运行时的并发保护，并以标准格式对照、工具验证和互操作测试确保 exporter 的可用性。

## 核心功能范围

- 实现 Counter、Gauge、Histogram、descriptor、label vector、cardinality 保护和 detached snapshot
- 实现显式与进程级 Registry、register/unregister、自定义 collector 和稳定 gather
- 实现 Prometheus text 0.0.4、OpenMetrics 1.0、直方图、转义、特殊浮点和 HTTP Accept 协商
- 提供 native demo、格式 conformance、Go client/promtool 语义互操作与 OpenMetrics 对照
- 处理 Native 内部计数并发保护，同时保持公共对象单 owner 使用边界
- 提供可发布 MoonBit 包、README、示例、CI、测试和发布说明

## 原创或参考说明

- 规范依据：Prometheus text exposition format 与 OpenMetrics 1.0 公开规范
- 项目性质：原创 MoonBit 实现，不复制 Prometheus、OpenMetrics 或 Go `client_golang` 源码
- 参考方式：公开规范和 Go 工具仅作为行为与互操作 oracle
- 范围边界：不实现 TSDB、PromQL、scrape server、Pushgateway 或主机 collector
- 本项目许可证：Apache-2.0
