Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Implemented the PhpAnalyzerPlugin to analyze PHP projects. - Created ComposerLockData class to represent data from composer.lock files. - Developed ComposerLockReader to load and parse composer.lock files asynchronously. - Introduced ComposerPackage class to encapsulate package details. - Added PhpPackage class to represent PHP packages with metadata and evidence. - Implemented PhpPackageCollector to gather packages from ComposerLockData. - Created PhpLanguageAnalyzer to perform analysis and emit results. - Added capability signals for known PHP frameworks and CMS. - Developed unit tests for the PHP language analyzer and its components. - Included sample composer.lock and expected output for testing. - Updated project files for the new PHP analyzer library and tests.
2.3 KiB
2.3 KiB
Graph Indexer packaging (Runtime & Signals 140.A)
Deployment overlays
- Helm/Compose should expose two timers for analytics:
GRAPH_ANALYTICS_CLUSTER_INTERVALandGRAPH_ANALYTICS_CENTRALITY_INTERVAL(ISO-8601 duration, default 5m). Map toGraphAnalyticsOptions. - Change-stream/backfill worker toggles via
GRAPH_CHANGE_POLL_INTERVAL,GRAPH_BACKFILL_INTERVAL,GRAPH_CHANGE_MAX_RETRIES,GRAPH_CHANGE_RETRY_BACKOFF. - New Mongo collections:
graph_cluster_overlays— cluster assignments (tenant,snapshot_id,node_id,cluster_id,generated_at).graph_centrality_overlays— degree + betweenness approximations per node.- optional node updates write
attributes.cluster_idwhenWriteClusterAssignmentsToNodes=true.
Offline kit alignment
- Cluster/centrality overlays are exportable alongside
nodes.jsonl/edges.jsonl; keep underartifacts/graph-snapshots/{snapshotId}/overlays/for air-gapped imports. - Seed bundle layout:
clusters.ndjson— overlay records (one per node) matchinggraph_cluster_overlaysschema.centrality.ndjson— overlay records withdegree/betweenness.manifest.json— references snapshot manifest hash and run timestamps.
- Determinism: overlays ordered by
node_id(ordinal) to keep bundle hashes stable.
Observability hooks
- Metrics (Meter
StellaOps.Graph.Indexer):graph_analytics_runs_total,graph_analytics_failures_total,graph_analytics_duration_seconds,graph_analytics_clusters_total,graph_analytics_centrality_total.graph_changes_total,graph_backfill_total,graph_change_failures_total,graph_change_lag_seconds.
- Recommended alerts: lag > 5m, failures > 0 over 10m window, cluster job duration > 2m.
Configuration defaults
- Cluster/centrality intervals: 5 minutes; label-propagation iterations: 6; betweenness sample size: 12.
- Change stream: poll every 5s, backfill every 15m, max retries 3 with 3s backoff, batch size 256.
Notes
- Analytics writes are idempotent (upserts keyed on tenant+snapshot+node_id). Change-stream processing is idempotent via sequence tokens persisted in
IIdempotencyStore(Mongo or in-memory for tests). - Keep Helm/Compose values in sync with these defaults when publishing the Runtime & Signals 140.A bundle.