From 2b33da41b5d6860293ac59ddb86f30fffe3f7f92 Mon Sep 17 00:00:00 2001 From: 0x1d Date: Sun, 26 Oct 2025 13:40:09 +0100 Subject: [PATCH] feat: events visualization --- README.md | 2 + assets/events.png | Bin 0 -> 380489 bytes docs/Events.md | 518 +++++++++++++ docs/README.md | 78 ++ public/index.html | 23 + public/scripts/app.js | 4 +- public/scripts/components/EventComponent.js | 812 ++++++++++++++++++++ public/scripts/view-models.js | 145 +++- public/styles/main.css | 18 +- 9 files changed, 1591 insertions(+), 9 deletions(-) create mode 100644 assets/events.png create mode 100644 docs/Events.md create mode 100644 docs/README.md create mode 100644 public/scripts/components/EventComponent.js diff --git a/README.md b/README.md index ca9bd6f..9a58615 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ This frontend server works together with the **SPORE Gateway** (spore-gateway) b ![UI](./assets/cluster.png) ### Topology ![UI](./assets/topology.png) +### Events +![UI](./assets/events.png) ### Monitoring ![UI](./assets/monitoring.png) ### Firmware diff --git a/assets/events.png b/assets/events.png new file mode 100644 index 0000000000000000000000000000000000000000..98f93e04f54c912604c34e9ccdfec0389d428c64 GIT binary patch literal 380489 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
KWsWDJ@y3t#mu0l4NQM29ss`|i*{RhqJ2{5 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%0DH-Nug;`_~r{0UPHOX#U!c0m6gZ!7_=d?GL55 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

;jO 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 { parts: [], count: number, lastSeen: timestamp } + isLoading: false, + error: null, + lastUpdateTime: null + }); + + // Set up WebSocket listeners for real-time updates + this.setupWebSocketListeners(); + } +``` + +### Event Tracking + +Events are tracked with the following metadata: +- **Topic**: The full event topic path (e.g., `cluster/event/api/neopattern`) +- **Parts**: Array of topic segments split by `/` +- **Count**: Total occurrences of this event +- **First Seen**: ISO timestamp of first occurrence +- **Last Seen**: ISO timestamp of most recent occurrence +- **Last Data**: The most recent event payload + +### Event Addition Logic + +The view model handles nested events specially: + +```1283:1329:spore-ui/public/scripts/view-models.js + // Add a topic (parsed by "/" separator) + addTopic(topic, data = null) { + // Get current events as a new Map to ensure change detection + const events = new Map(this.get('events')); + + // Handle nested events from cluster/event + let fullTopic = topic; + if (topic === 'cluster/event' && data && data.data) { + try { + const parsedData = typeof data.data === 'string' ? JSON.parse(data.data) : data.data; + if (parsedData && parsedData.event) { + // Create nested topic chain: cluster/event/api/neopattern + fullTopic = `${topic}/${parsedData.event}`; + } + } catch (e) { + // If parsing fails, just use the original topic + } + } + + const parts = fullTopic.split('/').filter(p => p); + + if (events.has(fullTopic)) { + // Update existing event - create new object to ensure change detection + const existing = events.get(fullTopic); + events.set(fullTopic, { + topic: existing.topic, + parts: existing.parts, + count: existing.count + 1, + firstSeen: existing.firstSeen, + lastSeen: new Date().toISOString(), + lastData: data + }); + } else { + // Create new event entry + events.set(fullTopic, { + topic: fullTopic, + parts: parts, + count: 1, + firstSeen: new Date().toISOString(), + lastSeen: new Date().toISOString(), + lastData: data + }); + } + + // Use set to trigger change notification + this.set('events', events); + this.set('lastUpdateTime', new Date().toISOString()); + } +``` + +## Graph Construction + +### Node Creation + +The graph construction process follows two passes: + +1. **First Pass - Node Creation**: + - Creates nodes for each unique topic segment + - Preserves existing node positions if they've been dragged + - New nodes are positioned near their parent in the hierarchy + +2. **Second Pass - Event Counting**: + - Counts occurrences of each topic segment + - Updates node counts to reflect event frequency + +### Link Construction + +Links are created as chains representing complete topic paths: + +```283:342:spore-ui/public/scripts/components/EventComponent.js + // Build links as chains for each topic + // For "cluster/update", create: center -> cluster -> update + this.graphLinks = []; + const linkSet = new Set(); // Track links to avoid duplicates + + if (events && events.size > 0) { + for (const [topic, data] of events) { + const parts = data.parts; + + if (parts.length === 0) continue; + + // Connect center to first part + const firstPart = parts[0]; + const centerToFirst = `center-${firstPart}`; + if (!linkSet.has(centerToFirst)) { + this.graphLinks.push({ + source: 'center', + target: firstPart, + type: 'center-link', + count: data.count, + topic: topic + }); + linkSet.add(centerToFirst); + } else { + // Update count for existing link + const existingLink = this.graphLinks.find(l => + `${l.source}-${l.target}` === centerToFirst + ); + if (existingLink) { + existingLink.count += data.count; + } + } + + // Connect each part to the next (creating a chain) + for (let i = 0; i < parts.length - 1; i++) { + const source = parts[i]; + const target = parts[i + 1]; + const linkKey = `${source}-${target}`; + + if (!linkSet.has(linkKey)) { + this.graphLinks.push({ + source: source, + target: target, + type: 'topic-link', + topic: topic, + count: data.count + }); + linkSet.add(linkKey); + } else { + // Update count for existing link + const existingLink = this.graphLinks.find(l => + `${l.source}-${l.target}` === linkKey + ); + if (existingLink) { + existingLink.count += data.count; + } + } + } + } + } +``` + +## Force Simulation + +The D3.js force simulation provides the physics-based layout: + +```103:111:spore-ui/public/scripts/components/EventComponent.js + // Initialize simulation + this.simulation = d3.forceSimulation() + .force('link', d3.forceLink().id(d => d.id).distance(100)) + .force('charge', d3.forceManyBody().strength(-300)) + .force('center', d3.forceCenter(this.width / 2, this.height / 2)) + .force('collision', d3.forceCollide().radius(35)) + .alphaDecay(0.0228) // Slower decay to allow simulation to run longer + .velocityDecay(0.4); // Higher velocity decay for smoother, less jumpy movement +``` + +### Force Parameters +- **Link Force**: Maintains 100px distance between connected nodes +- **Charge Force**: -300 strength creates repulsion between nodes +- **Center Force**: Keeps the graph centered in the viewport +- **Collision Detection**: Prevents nodes from overlapping (35px collision radius) +- **Decay Rate**: Slow decay (0.0228) keeps the simulation running smoothly +- **Velocity Decay**: High decay (0.4) prevents excessive movement + +## Animation System + +### Event Arrival Animation + +When a new event arrives, a golden animation dot travels along the event chain: + +```725:809:spore-ui/public/scripts/components/EventComponent.js + animateEventMessage(topic, data) { + const g = this.svg.select('g'); + if (g.empty()) return; + + const parts = data.parts || topic.split('/').filter(p => p); + if (parts.length === 0) return; + + // Wait for the next tick to ensure nodes exist + setTimeout(() => { + // Build the chain: center -> first -> second -> ... -> last + const chain = ['center', ...parts]; + + // Animate along each segment of the chain + let delay = 0; + for (let i = 0; i < chain.length - 1; i++) { + const sourceId = chain[i]; + const targetId = chain[i + 1]; + + const sourceNode = this.graphNodes.find(n => n.id === sourceId); + const targetNode = this.graphNodes.find(n => n.id === targetId); + + if (!sourceNode || !targetNode) continue; + + setTimeout(() => { + this.animateDotAlongLink(sourceNode, targetNode, g); + }, delay); + + // Add delay between segments (staggered animation) + delay += 400; // Duration (300ms) + small gap (100ms) + } + }, 100); + } + + animateDotAlongLink(sourceNode, targetNode, g) { + if (!sourceNode || !targetNode || !g) return; + + // Calculate positions + const dx = targetNode.x - sourceNode.x; + const dy = targetNode.y - sourceNode.y; + const length = Math.sqrt(dx * dx + dy * dy); + + if (length === 0) return; + + // Normalize direction + const nx = dx / length; + const ny = dy / length; + + // Calculate node radii + const sourceRadius = sourceNode.type === 'center' ? 18 : 14; + const targetRadius = targetNode.type === 'center' ? 18 : 14; + + // Start from edge of source node + const startX = sourceNode.x + nx * sourceRadius; + const startY = sourceNode.y + ny * sourceRadius; + + // End at edge of target node + const endX = targetNode.x - nx * targetRadius; + const endY = targetNode.y - ny * targetRadius; + + // Create animation dot + const animationGroup = g.append('g').attr('class', 'animation-group'); + + const dot = animationGroup.append('circle') + .attr('r', 4) + .attr('fill', '#FFD700') + .attr('stroke', '#fff') + .attr('stroke-width', 2) + .attr('cx', startX) + .attr('cy', startY); + + // Animate the dot along the path + dot.transition() + .duration(300) + .ease(d3.easeLinear) + .attr('cx', endX) + .attr('cy', endY) + .on('end', function() { + // Fade out after reaching destination + dot.transition() + .duration(100) + .style('opacity', 0) + .remove(); + animationGroup.remove(); + }); + } +``` + +### Animation Characteristics +- **Golden Dot**: Visual indicator traveling along event chains +- **Staggered Timing**: Each segment of a multi-part topic animates sequentially +- **Duration**: 300ms per segment with 100ms delay between segments +- **Smooth Motion**: Linear easing for consistent speed + +## WebSocket Integration + +The Events view subscribes to all WebSocket messages through the gateway: + +```1256:1280:spore-ui/public/scripts/view-models.js + // Set up WebSocket event listeners + setupWebSocketListeners() { + if (!window.wsClient) { + // Retry after a short delay to allow wsClient to initialize + setTimeout(() => this.setupWebSocketListeners(), 1000); + return; + } + + // Listen for all websocket messages + window.wsClient.on('message', (data) => { + const topic = data.topic || data.type; + + if (topic) { + this.addTopic(topic, data); + } + }); + + // Listen for connection status changes + window.wsClient.on('connected', () => { + logger.info('EventViewModel: WebSocket connected'); + }); + + window.wsClient.on('disconnected', () => { + logger.debug('EventViewModel: WebSocket disconnected'); + }); + } +``` + +### Event Types Tracked + +All WebSocket messages are captured and displayed, including: +- **cluster/update**: Node discovery and cluster membership changes +- **cluster/event**: Arbitrary events from cluster members +- **api/tasks**: Task execution notifications +- **api/config**: Configuration updates +- **node/***: Node-specific events +- Any custom topics sent by SPORE nodes + +## Empty State + +When no events have been received, the view displays a helpful message: + +```604:632:spore-ui/public/scripts/components/EventComponent.js + showEmptyState() { + if (!this.isInitialized || !this.svg) return; + + const g = this.svg.select('g'); + if (g.empty()) return; + + // Remove any existing message + g.selectAll('.empty-state').remove(); + + // Account for the initial zoom transform (scale(1.4) translate(-200, -150)) + // We need to place the text in the center of the transformed coordinate space + const transformX = -200; + const transformY = -150; + const scale = 1.4; + + // Calculate centered position in transformed space + const x = ((this.width / 2) - transformX) / scale; + const y = ((this.height / 2) - transformY) / scale; + + const emptyMsg = g.append('text') + .attr('class', 'empty-state') + .attr('x', x) + .attr('y', y) + .attr('text-anchor', 'middle') + .attr('font-size', '18px') + .attr('fill', 'var(--text-secondary)') + .attr('font-weight', '500') + .text('Waiting for websocket events...'); + } +``` + +## Best Practices + +### Performance Considerations +1. **Event Accumulation**: Events accumulate over time; consider clearing the view for long-running sessions +2. **Many Events**: With hundreds of unique topics, the graph may become cluttered +3. **Animation**: Rapid event bursts may cause overlapping animations + +### Usage Tips +1. **Rearrange Regularly**: Use the rearrange button to clean up the layout after many events +2. **Drag Center Node**: Move the entire graph to see different areas of the visualization +3. **Zoom Out**: Zoom out to see the overall event pattern across the cluster +4. **Interactive Exploration**: Hover over links to see event frequencies + +## Troubleshooting + +### No Events Showing +- **Check WebSocket Connection**: Verify the gateway WebSocket is connected +- **Check Node Activity**: Ensure SPORE nodes are actively sending events +- **Browser Console**: Check for any JavaScript errors + +### Graph Not Updating +- **Force Refresh**: Reload the page to reinitialize the WebSocket connection +- **Check Gateway**: Verify the SPORE Gateway is running and accessible + +### Performance Issues +- **Clear Events**: Reload the page to clear accumulated events +- **Reduce Events**: Limit the event rate in your SPORE nodes +- **Browser Settings**: Ensure hardware acceleration is enabled + +## Technical Details + +### Dependencies +- **D3.js v7**: Force-directed graph simulation and SVG manipulation +- **SPORE Gateway**: WebSocket connection to cluster event stream +- **Component Framework**: Built on the SPORE UI component architecture + +### Browser Compatibility +- **Modern Browsers**: Chrome, Firefox, Safari, Edge (latest versions) +- **SVG Support**: Requires modern browser with full SVG support +- **WebSocket Support**: Native WebSocket API required + +### View Structure + +```254:262:spore-ui/public/index.html +

+``` + +The Events view provides a unique perspective on cluster activity, making it easy to observe the flow of events through the SPORE system in real-time. + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..d94e548 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,78 @@ +# SPORE UI Documentation + +This directory contains detailed documentation for the SPORE UI frontend application. + +## Documentation Index + +### Core Documentation + +- **[Framework](./FRAMEWORK_README.md)**: Component-based architecture, View Models, Event Bus, and framework conventions +- **[Discovery](./DISCOVERY.md)**: Node discovery system and cluster management +- **[Topology WebSocket Update](./TOPOLOGY_WEBSOCKET_UPDATE.md)**: Real-time topology visualization updates +- **[Logging](./LOGGING.md)**: Logging system and debugging utilities + +### Feature Documentation + +- **[Events](./Events.md)**: Real-time WebSocket event visualization with interactive force-directed graph +- **[Firmware Registry Integration](./FIRMWARE_REGISTRY_INTEGRATION.md)**: Integration with the firmware registry system + +## Feature Overview + +### Events Feature +The Events feature provides real-time visualization of WebSocket events streaming through the SPORE cluster. It displays events as an interactive force-directed graph, showing the flow and relationships between different event topics. + +**Key Capabilities:** +- Real-time event tracking and visualization +- Interactive force-directed graph layout +- Event counting and frequency visualization +- Animated event flow visualization +- Topic hierarchy display + +See [Events.md](./Events.md) for complete documentation. + +### Framework Architecture +The SPORE UI uses a component-based architecture with: +- View Models for state management +- Components for UI rendering +- Event Bus for pub/sub communication +- API Client for backend integration + +See [FRAMEWORK_README.md](./FRAMEWORK_README.md) for architecture details. + +### Discovery System +The discovery system enables automatic detection of SPORE nodes on the network, maintaining a real-time view of cluster members. + +See [DISCOVERY.md](./DISCOVERY.md) for implementation details. + +### Topology Visualization +The topology view provides an interactive network graph showing relationships between cluster nodes in real-time. + +See [TOPOLOGY_WEBSOCKET_UPDATE.md](./TOPOLOGY_WEBSOCKET_UPDATE.md) for detailed documentation. + +## Quick Reference + +### Most Popular Pages +1. [Framework Architecture](./FRAMEWORK_README.md) - Start here for understanding the codebase +2. [Events Feature](./Events.md) - Real-time event visualization +3. [Firmware Registry Integration](./FIRMWARE_REGISTRY_INTEGRATION.md) - Firmware management + +### Developer Resources +- Component development: See [FRAMEWORK_README.md](./FRAMEWORK_README.md) +- Debugging: See [LOGGING.md](./LOGGING.md) +- Testing: See individual component documentation + +## Contributing + +When adding new features or documentation: +1. Follow the existing documentation structure +2. Include code examples and diagrams where helpful +3. Update this README when adding new documentation files +4. Maintain consistency with existing documentation style + +## Related Documentation + +For information about other SPORE components: +- **SPORE Gateway**: See `spore-gateway/README.md` +- **SPORE Registry**: See `spore-registry/README.md` +- **SPORE Embedded**: See `spore/README.md` + diff --git a/public/index.html b/public/index.html index 15c0a96..2f0b9cd 100644 --- a/public/index.html +++ b/public/index.html @@ -39,6 +39,18 @@ Topology + + + + + + + + + + + Events + @@ -238,6 +250,16 @@ + +
+
+
+
+
Waiting for websocket events...
+
+
+
+
@@ -264,6 +286,7 @@ + diff --git a/public/scripts/app.js b/public/scripts/app.js index 88fbbfe..b97e577 100644 --- a/public/scripts/app.js +++ b/public/scripts/app.js @@ -17,7 +17,8 @@ document.addEventListener('DOMContentLoaded', async function() { const clusterFirmwareViewModel = new ClusterFirmwareViewModel(); const topologyViewModel = new TopologyViewModel(); const monitoringViewModel = new MonitoringViewModel(); - logger.debug('App: View models created:', { clusterViewModel, firmwareViewModel, clusterFirmwareViewModel, topologyViewModel, monitoringViewModel }); + const eventsViewModel = new EventViewModel(); + logger.debug('App: View models created:', { clusterViewModel, firmwareViewModel, clusterFirmwareViewModel, topologyViewModel, monitoringViewModel, eventsViewModel }); // Connect firmware view model to cluster data clusterViewModel.subscribe('members', (members) => { @@ -65,6 +66,7 @@ document.addEventListener('DOMContentLoaded', async function() { app.registerRoute('topology', TopologyGraphComponent, 'topology-view', topologyViewModel); app.registerRoute('firmware', FirmwareViewComponent, 'firmware-view', firmwareViewModel); app.registerRoute('monitoring', MonitoringViewComponent, 'monitoring-view', monitoringViewModel); + app.registerRoute('events', EventComponent, 'events-view', eventsViewModel); logger.debug('App: Routes registered and components pre-initialized'); // Initialize cluster status component for header badge diff --git a/public/scripts/components/EventComponent.js b/public/scripts/components/EventComponent.js new file mode 100644 index 0000000..51901a0 --- /dev/null +++ b/public/scripts/components/EventComponent.js @@ -0,0 +1,812 @@ +// Events Component - Visualizes websocket events as a graph +class EventComponent extends Component { + constructor(container, viewModel, eventBus) { + super(container, viewModel, eventBus); + + this.svg = null; + this.simulation = null; + this.zoom = null; + this.width = 0; + this.height = 0; + this.isInitialized = false; + + // Center node data - will be initialized with proper coordinates later + this.centerNode = { id: 'center', type: 'center', label: '', x: 0, y: 0 }; + + // Track nodes for D3 + this.graphNodes = []; + this.graphLinks = []; + + // Track recent events to trigger animations + this.lastSeenEvents = new Set(); + } + + updateDimensions() { + const container = this.findElement('#events-graph-container'); + if (!container) { + logger.error('EventComponent: Container not found!'); + return; + } + + const rect = container.getBoundingClientRect(); + this.width = rect.width || 1400; + this.height = rect.height || 800; + + this.width = Math.max(this.width, 800); + this.height = Math.max(this.height, 600); + } + + mount() { + if (this.isMounted) return; + + if (!this.isInitialized) { + this.initialize(); + } + + this.isMounted = true; + this.setupEventListeners(); + this.setupViewModelListeners(); + this.render(); + } + + initialize() { + if (this.isInitialized) return; + + // Create SVG + const container = this.findElement('#events-graph-container'); + if (!container) { + logger.error('EventComponent: Container not found'); + return; + } + + this.updateDimensions(); + + // Clear container + container.innerHTML = ''; + + // Create a wrapper div for relative positioning + const wrapper = document.createElement('div'); + wrapper.style.cssText = 'position: relative; width: 100%; height: 100%; overflow: hidden;'; + container.appendChild(wrapper); + + // Store wrapper for button placement + this.wrapper = wrapper; + + // Add rearrange button + this.createRearrangeButton(wrapper); + + // Create SVG with D3 - match topology view style + this.svg = d3.select(wrapper) + .append('svg') + .attr('width', '100%') + .attr('height', '100%') + .attr('viewBox', `0 0 ${this.width} ${this.height}`) + .style('border', '1px solid rgba(255, 255, 255, 0.1)') + .style('border-radius', '12px'); + + // Create zoom behavior + this.zoom = d3.zoom() + .scaleExtent([0.5, 5]) + .on('zoom', (event) => { + this.svg.select('g').attr('transform', event.transform); + }); + + this.svg.call(this.zoom); + + // Create main group for graph elements + const mainGroup = this.svg.append('g'); + + // Apply initial zoom to show the graph more zoomed in + mainGroup.attr('transform', 'scale(1.4) translate(-200, -150)'); + + // Initialize simulation + this.simulation = d3.forceSimulation() + .force('link', d3.forceLink().id(d => d.id).distance(100)) + .force('charge', d3.forceManyBody().strength(-300)) + .force('center', d3.forceCenter(this.width / 2, this.height / 2)) + .force('collision', d3.forceCollide().radius(35)) + .alphaDecay(0.0228) // Slower decay to allow simulation to run longer + .velocityDecay(0.4); // Higher velocity decay for smoother, less jumpy movement + + this.isInitialized = true; + } + + setupEventListeners() { + // Handle window resize + this.addEventListener(window, 'resize', () => { + if (this.resizeTimeout) clearTimeout(this.resizeTimeout); + this.resizeTimeout = setTimeout(() => { + this.handleResize(); + }, 250); + }); + } + + handleResize() { + const container = this.findElement('#events-graph-container'); + if (container && this.svg) { + this.updateDimensions(); + this.svg.attr('viewBox', `0 0 ${this.width} ${this.height}`); + if (this.simulation) { + this.simulation.force('center', d3.forceCenter(this.width / 2, this.height / 2)); + this.simulation.alpha(0.3).restart(); + } + } + } + + setupViewModelListeners() { + // Listen for events changes + this.subscribeToProperty('events', (newValue, previousValue) => { + // Check for new or updated events to animate + if (newValue && newValue.size > 0 && previousValue) { + for (const [topic, data] of newValue) { + const prevData = previousValue.get(topic); + if (!prevData || data.count > prevData.count) { + // New event or count increased - trigger animation + this.animateEventMessage(topic, data); + } + } + } + + // Remove empty state if it exists + if (this.svg) { + const g = this.svg.select('g'); + if (!g.empty()) { + g.selectAll('.empty-state').remove(); + } + } + this.updateGraph(); + }); + + // Listen for lastUpdateTime changes + this.subscribeToProperty('lastUpdateTime', () => { + this.updateGraph(); + }); + } + + updateGraph() { + if (!this.isInitialized || !this.svg) { + return; + } + + const events = this.viewModel.get('events'); + + // Get existing nodes from simulation to preserve positions + const existingNodesMap = new Map(); + if (this.simulation && this.simulation.nodes) { + this.simulation.nodes().forEach(node => { + existingNodesMap.set(node.id, node); + }); + } + + // Create nodes map with center node (always present) + const nodesMap = new Map(); + const centerX = this.width / 2; + const centerY = this.height / 2; + + // Check if center node already exists in simulation (has been dragged) + const existingCenter = existingNodesMap.get('center'); + let centerNodeWithPos; + + if (existingCenter && existingCenter.fx !== undefined && existingCenter.fy !== undefined) { + // Preserve the dragged position + centerNodeWithPos = { + ...this.centerNode, + x: existingCenter.fx !== null ? existingCenter.fx : existingCenter.x, + y: existingCenter.fy !== null ? existingCenter.fy : existingCenter.y, + fx: existingCenter.fx, + fy: existingCenter.fy + }; + } else { + // New center node at center, or if it was never dragged + centerNodeWithPos = { + ...this.centerNode, + x: centerX, + y: centerY, + fx: null, + fy: null + }; + } + nodesMap.set('center', centerNodeWithPos); + + // Only process events if they exist + if (events && events.size > 0) { + // First pass: create all unique topic part nodes with proper hierarchy + for (const [topic, data] of events) { + data.parts.forEach((part, index) => { + if (!nodesMap.has(part)) { + const existingNode = existingNodesMap.get(part); + + if (existingNode && existingNode.x && existingNode.y) { + // Preserve existing position + nodesMap.set(part, { + id: part, + type: 'topic', + label: part, + count: 0, + x: existingNode.x, + y: existingNode.y, + fx: existingNode.fx, + fy: existingNode.fy + }); + } else { + // Determine where to place this new node based on hierarchy + let parentPart; + let refPos; + + if (index === 0) { + // First part connects to center + parentPart = 'center'; + } else { + // Subsequent parts connect to previous part in this topic + parentPart = data.parts[index - 1]; + } + + // Get parent position (should exist since we process in order) + refPos = nodesMap.get(parentPart); + + // Fallback to center if parent doesn't exist yet + if (!refPos) { + refPos = nodesMap.get('center'); + } + + // Initialize new node very close to its parent + const angle = Math.random() * Math.PI * 2; + const distance = 60 + Math.random() * 30; + nodesMap.set(part, { + id: part, + type: 'topic', + label: part, + count: 0, + x: refPos.x + Math.cos(angle) * distance, + y: refPos.y + Math.sin(angle) * distance, + fx: null, + fy: null + }); + } + } + }); + } + + // Second pass: count occurrences of each part + for (const [topic, data] of events) { + data.parts.forEach(part => { + const node = nodesMap.get(part); + if (node) { + node.count += data.count; + } + }); + } + } + + this.graphNodes = Array.from(nodesMap.values()); + + // Build links as chains for each topic + // For "cluster/update", create: center -> cluster -> update + this.graphLinks = []; + const linkSet = new Set(); // Track links to avoid duplicates + + if (events && events.size > 0) { + for (const [topic, data] of events) { + const parts = data.parts; + + if (parts.length === 0) continue; + + // Connect center to first part + const firstPart = parts[0]; + const centerToFirst = `center-${firstPart}`; + if (!linkSet.has(centerToFirst)) { + this.graphLinks.push({ + source: 'center', + target: firstPart, + type: 'center-link', + count: data.count, + topic: topic + }); + linkSet.add(centerToFirst); + } else { + // Update count for existing link + const existingLink = this.graphLinks.find(l => + `${l.source}-${l.target}` === centerToFirst + ); + if (existingLink) { + existingLink.count += data.count; + } + } + + // Connect each part to the next (creating a chain) + for (let i = 0; i < parts.length - 1; i++) { + const source = parts[i]; + const target = parts[i + 1]; + const linkKey = `${source}-${target}`; + + if (!linkSet.has(linkKey)) { + this.graphLinks.push({ + source: source, + target: target, + type: 'topic-link', + topic: topic, + count: data.count + }); + linkSet.add(linkKey); + } else { + // Update count for existing link + const existingLink = this.graphLinks.find(l => + `${l.source}-${l.target}` === linkKey + ); + if (existingLink) { + existingLink.count += data.count; + } + } + } + } + } + + // Update D3 simulation + this.updateSimulation(); + } + + updateSimulation() { + const g = this.svg.select('g'); + if (!g || g.empty()) { + return; + } + + // Update links + const links = g.selectAll('.link') + .data(this.graphLinks, d => `${d.source}-${d.target}`); + + // Remove old links + links.exit() + .transition() + .duration(300) + .style('opacity', 0) + .remove(); + + // Add new links + const linksEnter = links.enter() + .append('line') + .attr('class', d => `link ${d.type}`) + .attr('stroke-opacity', 0); + + // Merge and create linksUpdate + const linksUpdate = linksEnter.merge(links); + + // Add hover interactions to all links (existing ones will be updated) + linksUpdate + .on('mouseover', function(event, d) { + d3.select(event.currentTarget) + .attr('stroke-width', d => d.type === 'topic-link' ? Math.max(3, Math.min(5, Math.sqrt(d.count) + 2)) : 3.5) + .attr('stroke-opacity', 0.9); + }) + .on('mouseout', function(event, d) { + d3.select(event.currentTarget) + .attr('stroke-width', d => d.type === 'topic-link' ? Math.max(1.5, Math.min(4, Math.sqrt(d.count) + 1)) : 2.5) + .attr('stroke-opacity', 0.7); + }); + + // Update link attributes directly (no transitions to avoid event conflicts) + linksUpdate + .attr('stroke', d => { + if (d.type === 'center-link') return '#3498db'; + return '#10b981'; + }) + .attr('stroke-opacity', 0.7) + .attr('stroke-width', d => { + if (d.type === 'topic-link') return Math.max(1.5, Math.min(4, Math.sqrt(d.count) + 1)); + return 2.5; + }); + + // Update nodes + const nodes = g.selectAll('.node') + .data(this.graphNodes, d => d.id); + + // Remove old nodes + nodes.exit() + .transition() + .duration(300) + .style('opacity', 0) + .remove(); + + // Add new nodes + const nodesEnter = nodes.enter() + .append('g') + .attr('class', d => `node ${d.type}`) + .style('opacity', 0) + .call(this.drag()); + + // Add circle + nodesEnter.append('circle') + .attr('r', d => d.type === 'center' ? 18 : 14) + .attr('fill', d => { + if (d.type === 'center') return '#3498db'; + return '#10b981'; + }) + .attr('stroke', '#fff') + .attr('stroke-width', 2.5); + + // Add text labels + nodesEnter.append('text') + .attr('dy', d => d.type === 'center' ? -28 : -20) + .attr('text-anchor', 'middle') + .attr('font-size', d => d.type === 'center' ? '16px' : '13px') + .attr('fill', 'var(--text-primary)') + .attr('font-weight', '600') + .text(d => d.label); + + // Merge and update all nodes + const nodesUpdate = nodesEnter.merge(nodes); + + // Update node visibility + nodesUpdate.style('opacity', 1); + + // Update circles + nodesUpdate.select('circle') + .attr('r', d => d.type === 'center' ? 18 : 14) + .attr('fill', d => { + if (d.type === 'center') return '#3498db'; + return '#10b981'; + }); + + // Update text labels + nodesUpdate.select('text') + .text(d => d.label); + + // Remove any existing count badges + nodesUpdate.selectAll('.count-badge').remove(); + + // Update simulation + this.simulation.nodes(this.graphNodes); + + // Only add links force if there are links + if (this.graphLinks.length > 0) { + const linkForce = this.simulation.force('link'); + if (linkForce) { + linkForce.links(this.graphLinks); + } else { + // Create the link force if it doesn't exist + this.simulation.force('link', d3.forceLink().id(d => d.id).distance(100)); + this.simulation.force('link').links(this.graphLinks); + } + } else { + // Remove link force if no links + this.simulation.force('link', null); + } + + // Update positions on tick + this.simulation.on('tick', () => { + if (linksUpdate && this.graphLinks.length > 0) { + linksUpdate.each(function(d) { + const link = d3.select(this); + + // Calculate direction from source to target + const dx = d.target.x - d.source.x; + const dy = d.target.y - d.source.y; + const length = Math.sqrt(dx * dx + dy * dy); + + if (length > 0) { + // Normalize direction vector + const nx = dx / length; + const ny = dy / length; + + // Edge radius based on target node type + const targetRadius = d.target.type === 'center' ? 18 : 14; + const sourceRadius = d.source.type === 'center' ? 18 : 14; + + // Start from edge of source node + const x1 = d.source.x + nx * sourceRadius; + const y1 = d.source.y + ny * sourceRadius; + + // End at edge of target node + const x2 = d.target.x - nx * targetRadius; + const y2 = d.target.y - ny * targetRadius; + + link.attr('x1', x1) + .attr('y1', y1) + .attr('x2', x2) + .attr('y2', y2); + } + }); + } + + nodesUpdate + .attr('transform', d => `translate(${d.x},${d.y})`); + }); + + // Use lower alpha to avoid jumping - just tweak positions gently + this.simulation.alpha(0.3).restart(); + } + + drag() { + const simulation = this.simulation; + const component = this; + + let initialCenterX = 0; + let initialCenterY = 0; + + function dragstarted(event, d) { + if (!event.active) simulation.alphaTarget(0.3).restart(); + d.fx = d.x; + d.fy = d.y; + + // If dragging the center node, store initial position and get all nodes + if (d.type === 'center') { + initialCenterX = d.x; + initialCenterY = d.y; + } + } + + function dragged(event, d) { + d.fx = event.x; + d.fy = event.y; + + // If dragging the center node, move all other nodes by the same offset + if (d.type === 'center') { + const dx = event.x - initialCenterX; + const dy = event.y - initialCenterY; + + // Apply the same offset to all other nodes + simulation.nodes().forEach(node => { + if (node.id !== 'center') { + node.fx = node.x + dx; + node.fy = node.y + dy; + } + }); + + // Update initial position for next iteration + initialCenterX = event.x; + initialCenterY = event.y; + } + } + + function dragended(event, d) { + if (!event.active) simulation.alphaTarget(0); + // Keep positions fixed after dragging + d.fx = d.x; + d.fy = d.y; + + // If dragging the center node, preserve all node positions + if (d.type === 'center') { + simulation.nodes().forEach(node => { + node.fx = node.x; + node.fy = node.y; + }); + } + } + + return d3.drag() + .on('start', dragstarted) + .on('drag', dragged) + .on('end', dragended); + } + + render() { + if (!this.isInitialized) { + this.initialize(); + } + + const events = this.viewModel.get('events'); + + // If no events exist yet, show an empty state message + if (!events || events.size === 0) { + this.showEmptyState(); + } else { + // Remove empty state if it exists + const g = this.svg.select('g'); + if (!g.empty()) { + g.selectAll('.empty-state').remove(); + } + } + + // Always call updateGraph to show at least the center node + this.updateGraph(); + } + + showEmptyState() { + if (!this.isInitialized || !this.svg) return; + + const g = this.svg.select('g'); + if (g.empty()) return; + + // Remove any existing message + g.selectAll('.empty-state').remove(); + + // Account for the initial zoom transform (scale(1.4) translate(-200, -150)) + // We need to place the text in the center of the transformed coordinate space + const transformX = -200; + const transformY = -150; + const scale = 1.4; + + // Calculate centered position in transformed space + const x = ((this.width / 2) - transformX) / scale; + const y = ((this.height / 2) - transformY) / scale; + + const emptyMsg = g.append('text') + .attr('class', 'empty-state') + .attr('x', x) + .attr('y', y) + .attr('text-anchor', 'middle') + .attr('font-size', '18px') + .attr('fill', 'var(--text-secondary)') + .attr('font-weight', '500') + .text('Waiting for websocket events...'); + } + + onPause() { + if (this.simulation) { + this.simulation.stop(); + } + } + + onResume() { + if (this.simulation) { + this.simulation.alpha(0.3).restart(); + } + } + + shouldRenderOnResume() { + return false; + } + + createRearrangeButton(container) { + const button = document.createElement('button'); + button.className = 'topology-rearrange-btn'; + button.innerHTML = ` + + + + + + + + + Rearrange + `; + button.title = 'Rearrange nodes into a clean layout'; + button.style.cssText = ` + position: absolute; + left: 16px; + top: 16px; + z-index: 1000; + display: flex; + align-items: center; + gap: 8px; + padding: 8px 14px; + background: var(--card-background, rgba(30, 30, 30, 0.95)); + border: 1px solid var(--border-color, rgba(255, 255, 255, 0.1)); + border-radius: 8px; + color: var(--text-primary, #ecf0f1); + font-size: 13px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + `; + + // Add hover effect + button.addEventListener('mouseenter', () => { + button.style.background = 'var(--card-hover, rgba(40, 40, 40, 0.95))'; + button.style.borderColor = 'var(--primary-color, #3498db)'; + button.style.transform = 'translateY(-1px)'; + button.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.3)'; + }); + + button.addEventListener('mouseleave', () => { + button.style.background = 'var(--card-background, rgba(30, 30, 30, 0.95))'; + button.style.borderColor = 'var(--border-color, rgba(255, 255, 255, 0.1))'; + button.style.transform = 'translateY(0)'; + button.style.boxShadow = '0 2px 8px rgba(0, 0, 0, 0.2)'; + }); + + // Add click handler + button.addEventListener('click', () => { + this.rearrangeNodes(); + }); + + container.appendChild(button); + } + + rearrangeNodes() { + if (!this.simulation) { + return; + } + + // Clear fixed positions for all nodes except center + this.graphNodes.forEach(node => { + if (node.type !== 'center') { + node.fx = null; + node.fy = null; + } + }); + + // Restart simulation with higher energy + this.simulation.alpha(1).restart(); + } + + animateEventMessage(topic, data) { + const g = this.svg.select('g'); + if (g.empty()) return; + + const parts = data.parts || topic.split('/').filter(p => p); + if (parts.length === 0) return; + + // Wait for the next tick to ensure nodes exist + setTimeout(() => { + // Build the chain: center -> first -> second -> ... -> last + const chain = ['center', ...parts]; + + // Animate along each segment of the chain + let delay = 0; + for (let i = 0; i < chain.length - 1; i++) { + const sourceId = chain[i]; + const targetId = chain[i + 1]; + + const sourceNode = this.graphNodes.find(n => n.id === sourceId); + const targetNode = this.graphNodes.find(n => n.id === targetId); + + if (!sourceNode || !targetNode) continue; + + setTimeout(() => { + this.animateDotAlongLink(sourceNode, targetNode, g); + }, delay); + + // Add delay between segments (staggered animation) + delay += 400; // Duration (300ms) + small gap (100ms) + } + }, 100); + } + + animateDotAlongLink(sourceNode, targetNode, g) { + if (!sourceNode || !targetNode || !g) return; + + // Calculate positions + const dx = targetNode.x - sourceNode.x; + const dy = targetNode.y - sourceNode.y; + const length = Math.sqrt(dx * dx + dy * dy); + + if (length === 0) return; + + // Normalize direction + const nx = dx / length; + const ny = dy / length; + + // Calculate node radii + const sourceRadius = sourceNode.type === 'center' ? 18 : 14; + const targetRadius = targetNode.type === 'center' ? 18 : 14; + + // Start from edge of source node + const startX = sourceNode.x + nx * sourceRadius; + const startY = sourceNode.y + ny * sourceRadius; + + // End at edge of target node + const endX = targetNode.x - nx * targetRadius; + const endY = targetNode.y - ny * targetRadius; + + // Create animation dot + const animationGroup = g.append('g').attr('class', 'animation-group'); + + const dot = animationGroup.append('circle') + .attr('r', 4) + .attr('fill', '#FFD700') + .attr('stroke', '#fff') + .attr('stroke-width', 2) + .attr('cx', startX) + .attr('cy', startY); + + // Animate the dot along the path + dot.transition() + .duration(300) + .ease(d3.easeLinear) + .attr('cx', endX) + .attr('cy', endY) + .on('end', function() { + // Fade out after reaching destination + dot.transition() + .duration(100) + .style('opacity', 0) + .remove(); + animationGroup.remove(); + }); + } +} + +window.EventComponent = EventComponent; diff --git a/public/scripts/view-models.js b/public/scripts/view-models.js index 060c127..883eb16 100644 --- a/public/scripts/view-models.js +++ b/public/scripts/view-models.js @@ -1235,4 +1235,147 @@ class WiFiConfigViewModel extends ViewModel { } } -window.WiFiConfigViewModel = WiFiConfigViewModel; \ No newline at end of file +window.WiFiConfigViewModel = WiFiConfigViewModel; + +// Events View Model for websocket event visualization +class EventViewModel extends ViewModel { + constructor() { + super(); + this.setMultiple({ + events: new Map(), // Map of topic -> { parts: [], count: number, lastSeen: timestamp } + isLoading: false, + error: null, + lastUpdateTime: null + }); + + // Set up WebSocket listeners for real-time updates + this.setupWebSocketListeners(); + } + + // Set up WebSocket event listeners + setupWebSocketListeners() { + if (!window.wsClient) { + // Retry after a short delay to allow wsClient to initialize + setTimeout(() => this.setupWebSocketListeners(), 1000); + return; + } + + // Listen for all websocket messages + window.wsClient.on('message', (data) => { + const topic = data.topic || data.type; + + if (topic) { + this.addTopic(topic, data); + } + }); + + // Listen for connection status changes + window.wsClient.on('connected', () => { + logger.info('EventViewModel: WebSocket connected'); + }); + + window.wsClient.on('disconnected', () => { + logger.debug('EventViewModel: WebSocket disconnected'); + }); + } + + // Add a topic (parsed by "/" separator) + addTopic(topic, data = null) { + // Get current events as a new Map to ensure change detection + const events = new Map(this.get('events')); + + // Handle nested events from cluster/event + let fullTopic = topic; + if (topic === 'cluster/event' && data && data.data) { + try { + const parsedData = typeof data.data === 'string' ? JSON.parse(data.data) : data.data; + if (parsedData && parsedData.event) { + // Create nested topic chain: cluster/event/api/neopattern + fullTopic = `${topic}/${parsedData.event}`; + } + } catch (e) { + // If parsing fails, just use the original topic + } + } + + const parts = fullTopic.split('/').filter(p => p); + + if (events.has(fullTopic)) { + // Update existing event - create new object to ensure change detection + const existing = events.get(fullTopic); + events.set(fullTopic, { + topic: existing.topic, + parts: existing.parts, + count: existing.count + 1, + firstSeen: existing.firstSeen, + lastSeen: new Date().toISOString(), + lastData: data + }); + } else { + // Create new event entry + events.set(fullTopic, { + topic: fullTopic, + parts: parts, + count: 1, + firstSeen: new Date().toISOString(), + lastSeen: new Date().toISOString(), + lastData: data + }); + } + + // Use set to trigger change notification + this.set('events', events); + this.set('lastUpdateTime', new Date().toISOString()); + } + + // Get all topic parts (unique segments after splitting by "/") + getTopicParts() { + const events = this.get('events'); + const allParts = new Set(); + + for (const [topic, data] of events) { + data.parts.forEach(part => allParts.add(part)); + } + + return Array.from(allParts).map(part => { + // Count how many events contain this part + let count = 0; + for (const [topic, data] of events) { + if (data.parts.includes(part)) { + count += data.count; + } + } + + return { part, count }; + }); + } + + // Clear all events + clearTopics() { + this.set('events', new Map()); + this.set('lastUpdateTime', new Date().toISOString()); + } + + // Get connections between topic parts (for graph edges) + getTopicConnections() { + const topics = this.get('topics'); + const connections = []; + + for (const [topic, data] of topics) { + const parts = data.parts; + // Create connections between adjacent parts + for (let i = 0; i < parts.length - 1; i++) { + connections.push({ + source: parts[i], + target: parts[i + 1], + topic: topic, + count: data.count + }); + } + } + + return connections; + } +} + +window.EventViewModel = EventViewModel; \ No newline at end of file diff --git a/public/styles/main.css b/public/styles/main.css index b2f321e..155c07c 100644 --- a/public/styles/main.css +++ b/public/styles/main.css @@ -559,11 +559,12 @@ p { } /* Topology graph node interactions */ -#topology-graph-container .node { +#topology-graph-container .node, #events-graph-container .node { cursor: pointer; } -#topology-graph-container .node:hover circle:first-child { +#topology-graph-container .node:hover circle:first-child, +#events-graph-container .node:hover circle:first-child { filter: brightness(1.2); } @@ -4335,7 +4336,7 @@ select.param-input:focus { width: 100%; /* Use full container width */ } -#topology-graph-container { +#topology-graph-container, #events-graph-container { background: var(--bg-tertiary); border-radius: 12px; height: 100%; @@ -4351,24 +4352,27 @@ select.param-input:focus { max-height: 100%; /* Ensure it doesn't exceed parent height */ } -#topology-graph-container svg { +#topology-graph-container svg, #events-graph-container svg { width: 100%; height: 100%; } #topology-graph-container .loading, #topology-graph-container .error, -#topology-graph-container .no-data { +#topology-graph-container .no-data, +#events-graph-container .loading, +#events-graph-container .error, +#events-graph-container .no-data { text-align: center; color: var(--text-tertiary); font-size: 1.1rem; } -#topology-graph-container .error { +#topology-graph-container .error, #events-graph-container .error { color: var(--accent-error); } -#topology-graph-container .no-data { +#topology-graph-container .no-data, #events-graph-container .no-data { color: rgba(255, 255, 255, 0.5); }