info about shared memory, calls, events and log files.

This commit is contained in:
2026-03-27 00:15:23 +01:00
parent 8357960a6b
commit 8349b65a83
17 changed files with 205 additions and 78 deletions

View File

@@ -45,6 +45,7 @@
rkt-webview-messagebox
rkt-webview-version
rkt-webview-set-loglevel
rkt-webview-info
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -243,6 +244,7 @@
(_enum '(version = -1
event = 2
js-result = 3
metrics = 4
)
)
)
@@ -267,6 +269,20 @@
)
)
(define-cstruct _rkt_metrics_t
([shm_usage _int]
[shm_free_depth _int]
[shm_free_size _int]
[shm_item_depth _int]
[shm_item_size _int]
[shm_item_usage_factor _double]
[open_windows _int]
[function_calls _int]
[events _int]
[log_file _string*/utf-8]
)
)
(define-cstruct _rkt_evt_t
([w _int]
[evt _pointer]
@@ -279,7 +295,7 @@
(define-cstruct _rkt_data_t
([kind _rkt_data_kind]
[data (_union _rkt_version_t _rkt_evt_t _rkt_js_result_t)]
[data (_union _rkt_version_t _rkt_evt_t _rkt_js_result_t _rkt_metrics_t)]
)
)
@@ -299,6 +315,10 @@
(define-rktwebview rkt_webview_set_loglevel
(_fun _rkt_loglevel_t -> _void))
;RKTWEBVIEW_EXPORT rkt_data_t *rkt_webview_info();
(define-rktwebview rkt_webview_info
(_fun -> _rkt_data_t-pointer/null))
;RKTWEBVIEW_EXPORT int rkt_webview_events_waiting();
(define-rktwebview rkt_webview_events_waiting
(_fun -> _int))
@@ -595,6 +615,22 @@
(define (rkt-webview-set-loglevel l)
(rkt_webview_set_loglevel l))
(define (rkt-webview-info)
(let* ((d (rkt_webview_info))
(r (union-ref (rkt_data_t-data d) 3))
)
(let ((res
(list (list 'shm-usage (rkt_metrics_t-shm_usage r))
(list 'shm-freelist (rkt_metrics_t-shm_free_depth r) (rkt_metrics_t-shm_free_size r))
(list 'shm-alloc (rkt_metrics_t-shm_item_depth r) (rkt_metrics_t-shm_item_size r) (rkt_metrics_t-shm_item_usage_factor r))
(list 'open-windows (rkt_metrics_t-open_windows r))
(list 'calls (rkt_metrics_t-function_calls r))
(list 'events (rkt_metrics_t-events r))
(list 'log-file (rkt_metrics_t-log_file r))
)))
(rkt_webview_free_data d)
res)))
(define (rkt-webview-set-ou-token handle token)
(rkt_webview_set_ou_token (rkt-wv-win handle) token)
#t)