상태 캐시 의미 테이블 전환
This commit is contained in:
@@ -72,7 +72,9 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
|
||||
|
||||
- `control_state`: 팬 모드와 PWM 상태
|
||||
- `sensor_logs`: 온도, RPM, PWM, load, memory, disk, uptime. 과거 배터리 컬럼은 호환을 위해 유지하지만 UPS 제거 상태에서는 새 배터리값을 기록하지 않습니다.
|
||||
- `app_json_store`: 기존 JSON 파일 저장소를 대체하는 DB 기반 JSON 상태/캐시 저장 테이블. 저전압/스로틀링 episode 상태, 배터리 프로파일 캐시, 사용자 서비스 캐시를 저장합니다.
|
||||
- `power_event_states`: 저전압/스로틀링 episode 상태, 최근 지속시간, 최근 이벤트 이력
|
||||
- `battery_profile_cache`: 배터리 잔여시간 계산용 장기 프로파일 캐시
|
||||
- `systemd_service_cache`: 사용자 생성 systemd 서비스 목록과 최근 journal 로그의 짧은 TTL 캐시
|
||||
- `system_notice_state`: notice 활성 상태와 기준값
|
||||
- `system_notice_logs`: notice 발생 이력
|
||||
- `wifi_observed_sessions`: 5G WiFi/LAN client의 최초/마지막 감지 시간
|
||||
@@ -186,11 +188,11 @@ control-wifi-observe.service
|
||||
## 주요 함수/모듈
|
||||
|
||||
- `collect_snapshot()`: 센서와 fan 상태 snapshot 생성
|
||||
- `custom_systemd_services()`: `/etc/systemd/system/*.service` 단위를 조회해 사용자 생성 서비스 상태와 최근 journal 로그를 구성하고 `app_json_store`에 짧은 TTL 캐시로 저장
|
||||
- `custom_systemd_services()`: `/etc/systemd/system/*.service` 단위를 조회해 사용자 생성 서비스 상태와 최근 journal 로그를 구성하고 `systemd_service_cache`에 짧은 TTL 캐시로 저장
|
||||
- `systemd_service_logs()`: 서비스별 최근 journal 로그 조회
|
||||
- `read_throttled_flags()`: `vcgencmd get_throttled`를 직접 조회하고, 권한 문제로 실패하면 sudo 경유 조회를 시도
|
||||
- `throttled_event_status()`: 저전압/스로틀링 episode 이력, 복구 중/반복 발생 판정, 최근 10분 통계를 계산
|
||||
- `throttled_statuses()`: 라즈베리파이 throttled flag를 읽고 저전압/스로틀링 감지 이력을 `app_json_store`로 추적
|
||||
- `throttled_statuses()`: 라즈베리파이 throttled flag를 읽고 저전압/스로틀링 감지 이력을 `power_event_states`로 추적
|
||||
- `apply_fan_policy()`: 팬 목표값 계산과 적용
|
||||
- `fan_control_temp()`: CPU/RP1 혼합 팬 판단 온도 계산
|
||||
- `json_out()`: API JSON 응답 표준화
|
||||
@@ -199,7 +201,7 @@ control-wifi-observe.service
|
||||
- `apply_wifi_estimates()`: WiFi 신호/송신 속도/수신 속도 결측값 보정
|
||||
- `battery_status()`: `CONTROL_BATTERY_ENABLED`가 true일 때만 배터리 센서를 읽고, 현재 기본 구성에서는 제거 상태를 반환
|
||||
- `battery_trend_history()`: 배터리 기능을 다시 켤 때 최근 24시간 배터리 기록을 1분 단위로 집계
|
||||
- `battery_profile_history()`: 배터리 기능을 다시 켤 때 최대 45일 배터리 기록을 약 5분 간격으로 샘플링하고 파일 캐시로 보관
|
||||
- `battery_profile_history()`: 배터리 기능을 다시 켤 때 최대 45일 배터리 기록을 약 5분 간격으로 샘플링하고 `battery_profile_cache`에 보관
|
||||
- `weighted_linear_regression()`, `numeric_mad()`: SOC 기울기 계산과 회귀 잔차 튐 제거
|
||||
- `battery_regression_trend_candidate()`: 1분 SOC 집계를 강건 회귀로 분석해 정밀 방전 속도 후보 계산
|
||||
- `battery_voltage_trend_candidate()`: 전압 기울기와 동적 하한 전압으로 잔여 시간 후보 계산
|
||||
|
||||
Reference in New Issue
Block a user