pping-lang 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pping_lang/__init__.py +18 -0
- pping_lang/api/__init__.py +11 -0
- pping_lang/api/queries.py +17 -0
- pping_lang/api/routes.py +1660 -0
- pping_lang/api/schemas.py +61 -0
- pping_lang/api/server.py +89 -0
- pping_lang/autopilot/__init__.py +14 -0
- pping_lang/autopilot/action_space.py +555 -0
- pping_lang/autopilot/agent.py +648 -0
- pping_lang/autopilot/api.py +299 -0
- pping_lang/autopilot/config_review.py +40 -0
- pping_lang/autopilot/kvfit.py +178 -0
- pping_lang/autopilot/objective.py +109 -0
- pping_lang/autopilot/promote.py +61 -0
- pping_lang/autopilot/repeat.py +47 -0
- pping_lang/autopilot/run.py +247 -0
- pping_lang/autopilot/runner.py +1128 -0
- pping_lang/autopilot/sandbox.py +572 -0
- pping_lang/autopilot/scorecard.py +86 -0
- pping_lang/autopilot/search.py +106 -0
- pping_lang/autopilot/session_store.py +307 -0
- pping_lang/autopilot/workload.py +77 -0
- pping_lang/bench/__init__.py +57 -0
- pping_lang/bench/client.py +195 -0
- pping_lang/bench/measurement.py +186 -0
- pping_lang/bench/microbench.py +175 -0
- pping_lang/bench/prompts/__init__.py +16 -0
- pping_lang/bench/prompts/data/__init__.py +1 -0
- pping_lang/bench/prompts/data/code.jsonl +35 -0
- pping_lang/bench/prompts/data/mixed-long.jsonl +15 -0
- pping_lang/bench/prompts/data/mixed-short.jsonl +40 -0
- pping_lang/bench/prompts/loader.py +102 -0
- pping_lang/bench/runner.py +247 -0
- pping_lang/bench/scenarios/__init__.py +8 -0
- pping_lang/bench/scenarios/schema.py +281 -0
- pping_lang/bench/store.py +272 -0
- pping_lang/cli.py +62 -0
- pping_lang/clock.py +21 -0
- pping_lang/collector/__init__.py +18 -0
- pping_lang/collector/cupti.py +1559 -0
- pping_lang/collector/nvml.py +187 -0
- pping_lang/collector/vllm_stats.py +190 -0
- pping_lang/engine_pcs.py +286 -0
- pping_lang/hardware.py +156 -0
- pping_lang/metrics_catalog.py +128 -0
- pping_lang/native/Makefile +31 -0
- pping_lang/native/README.md +99 -0
- pping_lang/native/__init__.py +1 -0
- pping_lang/native/builder.py +133 -0
- pping_lang/native/ppingcupti.cpp +726 -0
- pping_lang/native/ppingcupti.h +98 -0
- pping_lang/native/sass_source.py +262 -0
- pping_lang/otel/__init__.py +15 -0
- pping_lang/otel/sink.py +121 -0
- pping_lang/plugin.py +393 -0
- pping_lang/rules/__init__.py +23 -0
- pping_lang/rules/defaults.py +141 -0
- pping_lang/rules/diagnosis_config.py +137 -0
- pping_lang/rules/diagnosis_engine.py +85 -0
- pping_lang/rules/diagnosis_rules.py +167 -0
- pping_lang/rules/diagnosis_runtime.py +175 -0
- pping_lang/rules/engine.py +52 -0
- pping_lang/rules/loader.py +70 -0
- pping_lang/rules/operating_point.py +140 -0
- pping_lang/rules/schema.py +73 -0
- pping_lang/rules/store.py +113 -0
- pping_lang/sink/__init__.py +25 -0
- pping_lang/sink/base.py +293 -0
- pping_lang/sink/local.py +92 -0
- pping_lang/sink/metric_log.py +271 -0
- pping_lang/sink/tee.py +65 -0
- pping_lang/types.py +45 -0
- pping_lang/ui/__init__.py +1 -0
- pping_lang/ui/dashboard.css +2124 -0
- pping_lang/ui/dashboard.js +3013 -0
- pping_lang/ui/index.html +1917 -0
- pping_lang/ui/vendor/alpine.min.js +5 -0
- pping_lang/ui/vendor/chart.umd.min.js +20 -0
- pping_lang-0.1.0.dist-info/METADATA +550 -0
- pping_lang-0.1.0.dist-info/RECORD +83 -0
- pping_lang-0.1.0.dist-info/WHEEL +4 -0
- pping_lang-0.1.0.dist-info/entry_points.txt +8 -0
- pping_lang-0.1.0.dist-info/licenses/LICENSE +201 -0
pping_lang/__init__.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""pping-lang — vLLM 性能诊断插件。
|
|
2
|
+
|
|
3
|
+
主入口:PpingLangStatLogger(通过 vllm.stat_logger_plugins entry point 自动加载)。
|
|
4
|
+
"""
|
|
5
|
+
from pping_lang.plugin import PpingLangStatLogger
|
|
6
|
+
from pping_lang.sink import LocalSink, Sink
|
|
7
|
+
from pping_lang.types import Diagnosis, MetricPoint, Severity
|
|
8
|
+
|
|
9
|
+
__version__ = "0.1.0a2"
|
|
10
|
+
__all__ = [
|
|
11
|
+
"PpingLangStatLogger",
|
|
12
|
+
"MetricPoint",
|
|
13
|
+
"Diagnosis",
|
|
14
|
+
"Severity",
|
|
15
|
+
"Sink",
|
|
16
|
+
"LocalSink",
|
|
17
|
+
"__version__",
|
|
18
|
+
]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""HTTP API server — Day 6 实现。
|
|
2
|
+
|
|
3
|
+
子模块:
|
|
4
|
+
- routes: FastAPI app + 核心端点 (health, metrics, diagnoses, rules)
|
|
5
|
+
- server: ApiServer — uvicorn 在 daemon 线程跑
|
|
6
|
+
- queries: DuckDB 查询辅助
|
|
7
|
+
"""
|
|
8
|
+
from pping_lang.api.routes import build_app
|
|
9
|
+
from pping_lang.api.server import ApiServer
|
|
10
|
+
|
|
11
|
+
__all__ = ["ApiServer", "build_app"]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""DuckDB 连接辅助 —— 现仅供 bench_runs 用。
|
|
2
|
+
|
|
3
|
+
历史:这里曾有一整套指标/诊断的 DuckDB 查询(latest_per_metric / bucketed_quantiles /
|
|
4
|
+
recent_diagnoses / list_instances …)。随着「插件去 DuckDB、指标落 JSONL」,这些读路径
|
|
5
|
+
已迁到 `sink.metric_log.JsonlStore`(长窗扫描)与 Sink 内存环(实时短窗)。只剩 bench 的
|
|
6
|
+
`bench_runs`(可变行,UPDATE 语义)仍用 DuckDB,故保留 `open_conn`。
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
import duckdb
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def open_conn(db_path: str) -> Any:
|
|
16
|
+
"""Open a DuckDB connection. Caller is responsible for close()."""
|
|
17
|
+
return duckdb.connect(db_path)
|