queen-mq 0.1.5 → 0.2.0
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.
- package/README.md +467 -1775
- package/package.json +12 -14
- package/src/client/client.js +664 -5
- package/src/managers/queueManagerOptimized.js +250 -47
- package/src/routes/ack.js +3 -3
- package/src/server.js +131 -3
- package/src/test/advanced-client-tests.js +761 -0
- package/src/test/advanced-pattern-tests.js +2 -2
- package/src/test/bus-mode-tests.js +6 -6
- package/src/test/core-tests.js +1 -1
- package/src/test/edge-case-tests.js +2 -2
- package/src/test/test-new.js +36 -1
- package/src/webapp-dist/assets/Analytics-DJrE4Rz2.css +1 -0
- package/src/webapp-dist/assets/Analytics-HEMXKmfJ.js +1 -0
- package/src/webapp-dist/assets/ConfirmDialog-YEoCdE7x.js +1 -0
- package/src/webapp-dist/assets/ConsumerGroups-CC5VJywp.css +1 -0
- package/src/webapp-dist/assets/ConsumerGroups-D8Z20HhZ.js +1 -0
- package/src/webapp-dist/assets/Dashboard-BRFOz6it.css +1 -0
- package/src/webapp-dist/assets/Dashboard-Bpx9I32h.js +1 -0
- package/src/webapp-dist/assets/LoadingSpinner-BPttXcbs.js +1 -0
- package/src/webapp-dist/assets/Messages-BOfVHKma.css +1 -0
- package/src/webapp-dist/assets/Messages-EKURCbLl.js +1 -0
- package/src/webapp-dist/assets/QueueDetail-BXXA7xoZ.css +1 -0
- package/src/webapp-dist/assets/QueueDetail-Bmxg0KiA.js +1 -0
- package/src/webapp-dist/assets/Queues-CvrJkrZT.css +1 -0
- package/src/webapp-dist/assets/Queues-yUx9_3-9.js +1 -0
- package/src/webapp-dist/assets/StatusBadge-C1bBtXHh.css +1 -0
- package/src/webapp-dist/assets/StatusBadge-C6N84XmO.js +1 -0
- package/src/webapp-dist/assets/analytics-BapTekLM.js +1 -0
- package/src/webapp-dist/assets/colors-5z6Q_kUr.js +18 -0
- package/src/webapp-dist/assets/index-B7w2bKT6.css +1 -0
- package/src/webapp-dist/assets/index-CUSnwYTH.js +31 -0
- package/src/webapp-dist/assets/messages-CRV6E-xU.js +1 -0
- package/src/webapp-dist/assets/queues-BdUbxfBC.js +1 -0
- package/src/webapp-dist/assets/resources-Bs9U-ceF.js +1 -0
- package/{webapp → src/webapp-dist}/index.html +2 -1
- package/API.md +0 -1226
- package/AUTH.md +0 -2044
- package/CHANGELOG_STATIC_SERVING.md +0 -213
- package/DEPLOYMENT.md +0 -425
- package/PROGRAMMATIC_SERVER.md +0 -239
- package/WEBAPP.md +0 -1889
- package/assets/dashboard-01.png +0 -0
- package/assets/dashboard.png +0 -0
- package/examples/batch-processing.js +0 -58
- package/examples/bus-mode.js +0 -239
- package/examples/continuous-consumer-optimized.js +0 -215
- package/examples/continuous-consumer.js +0 -159
- package/examples/continuous-producer.js +0 -343
- package/examples/mixed-mode.js +0 -277
- package/examples/multi-server-test.js +0 -305
- package/examples/programmatic-server.js +0 -58
- package/examples/server-with-frontend.js +0 -46
- package/examples/single.js +0 -64
- package/examples/smartchat-dealyed.js +0 -42
- package/examples/smartchat.js +0 -52
- package/examples/test-cache-invalidation.js +0 -119
- package/examples/test-cache-multi-server.js +0 -245
- package/examples/test-complete-client.js +0 -260
- package/examples/test-connection-recovery.js +0 -66
- package/examples/test-dashboard-api.js +0 -200
- package/examples/test-minimal-client.js +0 -112
- package/examples/test-queue-creation-policy.js +0 -137
- package/examples/test-traceid.js +0 -147
- package/server.log +0 -1
- package/test-keepalive-v2.sh +0 -22
- package/webapp/COLOR_GUIDE.md +0 -118
- package/webapp/README.md +0 -143
- package/webapp/package-lock.json +0 -3184
- package/webapp/package.json +0 -25
- package/webapp/postcss.config.js +0 -7
- package/webapp/public/assets/queen-logo-blue.svg +0 -210
- package/webapp/public/assets/queen-logo-cyan.svg +0 -210
- package/webapp/public/assets/queen-logo-indigo.svg +0 -210
- package/webapp/public/assets/queen-logo-orange.svg +0 -210
- package/webapp/public/assets/queen-logo-pink.svg +0 -210
- package/webapp/public/assets/queen-logo-purple.svg +0 -210
- package/webapp/public/assets/queen-logo-rose.svg +0 -239
- package/webapp/public/assets/queen-logo.svg +0 -263
- package/webapp/src/App.vue +0 -19
- package/webapp/src/api/analytics.js +0 -10
- package/webapp/src/api/client.js +0 -34
- package/webapp/src/api/consumers.js +0 -52
- package/webapp/src/api/health.js +0 -7
- package/webapp/src/api/messages.js +0 -26
- package/webapp/src/api/queues.js +0 -14
- package/webapp/src/api/resources.js +0 -8
- package/webapp/src/assets/styles/main.css +0 -357
- package/webapp/src/components/analytics/AnalyticsFilters.vue +0 -87
- package/webapp/src/components/analytics/AnalyticsMetrics.vue +0 -57
- package/webapp/src/components/analytics/MessageDistributionChart.vue +0 -111
- package/webapp/src/components/analytics/MessageFlowChart.vue +0 -173
- package/webapp/src/components/analytics/TimeRangeSelector.vue +0 -27
- package/webapp/src/components/analytics/TopQueuesChart.vue +0 -132
- package/webapp/src/components/common/ConfirmDialog.vue +0 -56
- package/webapp/src/components/common/LoadingSpinner.vue +0 -6
- package/webapp/src/components/common/MetricCard.vue +0 -43
- package/webapp/src/components/common/StatusBadge.vue +0 -45
- package/webapp/src/components/dashboard/MessageStatusCard.vue +0 -50
- package/webapp/src/components/dashboard/PerformanceCard.vue +0 -38
- package/webapp/src/components/dashboard/ThroughputChart.vue +0 -182
- package/webapp/src/components/dashboard/TopQueuesTable.vue +0 -53
- package/webapp/src/components/layout/AppLayout.vue +0 -110
- package/webapp/src/components/layout/AppSidebar.vue +0 -304
- package/webapp/src/components/messages/MessageDetailPanel.vue +0 -242
- package/webapp/src/components/messages/MessageFilters.vue +0 -101
- package/webapp/src/components/queue-detail/PartitionList.vue +0 -79
- package/webapp/src/components/queue-detail/PushMessageModal.vue +0 -175
- package/webapp/src/components/queue-detail/QueueConfig.vue +0 -63
- package/webapp/src/components/queue-detail/QueueDetailHeader.vue +0 -53
- package/webapp/src/components/queue-detail/RecentMessages.vue +0 -76
- package/webapp/src/components/queues/CreateQueueModal.vue +0 -193
- package/webapp/src/components/queues/QueueFilters.vue +0 -90
- package/webapp/src/composables/useApi.js +0 -34
- package/webapp/src/composables/useTheme.js +0 -36
- package/webapp/src/main.js +0 -11
- package/webapp/src/router/index.js +0 -42
- package/webapp/src/utils/colors.js +0 -96
- package/webapp/src/utils/formatters.js +0 -49
- package/webapp/src/views/Analytics.vue +0 -377
- package/webapp/src/views/ConsumerGroups.vue +0 -433
- package/webapp/src/views/Dashboard.vue +0 -418
- package/webapp/src/views/Messages.vue +0 -363
- package/webapp/src/views/QueueDetail.vue +0 -582
- package/webapp/src/views/Queues.vue +0 -496
- package/webapp/tailwind.config.js +0 -25
- package/webapp/vite.config.js +0 -10
- /package/{assets → src/webapp-dist/assets}/queen-logo-blue.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-cyan.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-indigo.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-orange.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-pink.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-purple.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo-rose.svg +0 -0
- /package/{assets → src/webapp-dist/assets}/queen-logo.svg +0 -0
package/webapp/COLOR_GUIDE.md
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Color Customization Guide
|
|
2
|
-
|
|
3
|
-
## Quick Color Change
|
|
4
|
-
|
|
5
|
-
To change the entire app's color scheme, edit **ONE FILE**:
|
|
6
|
-
|
|
7
|
-
### **File:** `src/utils/colors.js`
|
|
8
|
-
|
|
9
|
-
```javascript
|
|
10
|
-
export const colors = {
|
|
11
|
-
// PRIMARY COLORS - Change these!
|
|
12
|
-
primary: {
|
|
13
|
-
name: 'Rose',
|
|
14
|
-
hex: '#f43f5e', // Change to your color
|
|
15
|
-
rgb: 'rgb(244, 63, 94)',
|
|
16
|
-
rgba: (opacity) => `rgba(244, 63, 94, ${opacity})`,
|
|
17
|
-
},
|
|
18
|
-
secondary: {
|
|
19
|
-
name: 'Purple',
|
|
20
|
-
hex: '#a855f7', // Change to your color
|
|
21
|
-
rgb: 'rgb(168, 85, 247)',
|
|
22
|
-
rgba: (opacity) => `rgba(168, 85, 247, ${opacity})`,
|
|
23
|
-
},
|
|
24
|
-
// ... rest of config
|
|
25
|
-
};
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Current Color Scheme
|
|
29
|
-
|
|
30
|
-
**Primary (Charts - Ingested):** Rose (#f43f5e)
|
|
31
|
-
**Secondary (Charts - Processed):** Purple (#a855f7)
|
|
32
|
-
|
|
33
|
-
## Where Colors Are Used
|
|
34
|
-
|
|
35
|
-
### **Primary (Rose)**
|
|
36
|
-
- Dashboard throughput chart - "Ingested" line
|
|
37
|
-
- Analytics message flow - "Ingested" line
|
|
38
|
-
- Accent colors
|
|
39
|
-
|
|
40
|
-
### **Secondary (Purple)**
|
|
41
|
-
- Dashboard throughput chart - "Processed" line
|
|
42
|
-
- Analytics message flow - "Processed" line
|
|
43
|
-
- Top queues bar chart
|
|
44
|
-
- Accent elements
|
|
45
|
-
|
|
46
|
-
### **Status Colors** (Fixed)
|
|
47
|
-
- Success/Completed: Green
|
|
48
|
-
- Warning/Pending: Yellow
|
|
49
|
-
- Danger/Failed: Red
|
|
50
|
-
- Info: Blue
|
|
51
|
-
- Dead Letter: Gray
|
|
52
|
-
|
|
53
|
-
## How to Change
|
|
54
|
-
|
|
55
|
-
### Example: Switch to Blue & Cyan
|
|
56
|
-
|
|
57
|
-
```javascript
|
|
58
|
-
// In src/utils/colors.js
|
|
59
|
-
primary: {
|
|
60
|
-
name: 'Blue',
|
|
61
|
-
hex: '#3b82f6',
|
|
62
|
-
rgb: 'rgb(59, 130, 246)',
|
|
63
|
-
rgba: (opacity) => `rgba(59, 130, 246, ${opacity})`,
|
|
64
|
-
},
|
|
65
|
-
secondary: {
|
|
66
|
-
name: 'Cyan',
|
|
67
|
-
hex: '#06b6d4',
|
|
68
|
-
rgb: 'rgb(6, 182, 212)',
|
|
69
|
-
rgba: (opacity) => `rgba(6, 182, 212, ${opacity})`,
|
|
70
|
-
},
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Example: Switch to Orange & Pink
|
|
74
|
-
|
|
75
|
-
```javascript
|
|
76
|
-
primary: {
|
|
77
|
-
name: 'Orange',
|
|
78
|
-
hex: '#f97316',
|
|
79
|
-
rgb: 'rgb(249, 115, 22)',
|
|
80
|
-
rgba: (opacity) => `rgba(249, 115, 22, ${opacity})`,
|
|
81
|
-
},
|
|
82
|
-
secondary: {
|
|
83
|
-
name: 'Pink',
|
|
84
|
-
hex: '#ec4899',
|
|
85
|
-
rgb: 'rgb(236, 72, 153)',
|
|
86
|
-
rgba: (opacity) => `rgba(236, 72, 153, ${opacity})`,
|
|
87
|
-
},
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Tailwind Config
|
|
91
|
-
|
|
92
|
-
Also update `tailwind.config.js` for consistency:
|
|
93
|
-
|
|
94
|
-
```javascript
|
|
95
|
-
colors: {
|
|
96
|
-
'queen-primary': '#f43f5e', // Match primary
|
|
97
|
-
'queen-secondary': '#a855f7', // Match secondary
|
|
98
|
-
'queen-accent': '#ec4899', // Optional third color
|
|
99
|
-
},
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Current Implementation
|
|
103
|
-
|
|
104
|
-
✅ **Centralized**: All chart colors in one place
|
|
105
|
-
✅ **Easy to change**: Edit one file
|
|
106
|
-
✅ **Consistent**: Used across all charts
|
|
107
|
-
✅ **Type-safe**: Helper functions for opacity
|
|
108
|
-
|
|
109
|
-
## Files Using Color System
|
|
110
|
-
|
|
111
|
-
1. `src/components/dashboard/ThroughputChart.vue`
|
|
112
|
-
2. `src/components/analytics/MessageFlowChart.vue`
|
|
113
|
-
3. `src/components/analytics/TopQueuesChart.vue`
|
|
114
|
-
4. `src/components/analytics/MessageDistributionChart.vue`
|
|
115
|
-
5. `tailwind.config.js` (for CSS utilities)
|
|
116
|
-
|
|
117
|
-
Change `src/utils/colors.js` and all charts update automatically! 🎨
|
|
118
|
-
|
package/webapp/README.md
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# Queen Message Queue - Web Application
|
|
2
|
-
|
|
3
|
-
Modern web interface for managing and monitoring the Queen Message Queue system.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- Node.js 18+
|
|
8
|
-
- npm or yarn
|
|
9
|
-
- Queen Message Queue server running on `http://localhost:6632`
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
12
|
-
|
|
13
|
-
Install dependencies:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm install vue@latest vue-router@latest axios@latest
|
|
17
|
-
npm install chart.js@latest vue-chartjs@latest
|
|
18
|
-
npm install -D vite@latest @vitejs/plugin-vue@latest
|
|
19
|
-
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Or all at once:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install vue vue-router axios chart.js vue-chartjs && npm install -D vite @vitejs/plugin-vue tailwindcss postcss autoprefixer
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Configuration
|
|
29
|
-
|
|
30
|
-
The application connects to the Queen API at `http://localhost:6632` by default.
|
|
31
|
-
|
|
32
|
-
To change this, create a `.env` file:
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
VITE_API_BASE_URL=http://your-api-url:port
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Development
|
|
39
|
-
|
|
40
|
-
Start the development server on port 4000:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm run dev
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
The application will be available at `http://localhost:4000`
|
|
47
|
-
|
|
48
|
-
## Build for Production
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
npm run build
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Output will be in the `dist/` directory.
|
|
55
|
-
|
|
56
|
-
## Features
|
|
57
|
-
|
|
58
|
-
### ✅ Implemented (Dashboard)
|
|
59
|
-
- Real-time health monitoring
|
|
60
|
-
- System metrics and statistics
|
|
61
|
-
- Message throughput visualization
|
|
62
|
-
- Performance monitoring
|
|
63
|
-
- Top queues overview
|
|
64
|
-
- Dark/light theme support
|
|
65
|
-
|
|
66
|
-
### 🚧 Coming Soon
|
|
67
|
-
- Queues management
|
|
68
|
-
- Queue detail views
|
|
69
|
-
- Consumer groups monitoring
|
|
70
|
-
- Message browser
|
|
71
|
-
- Analytics and insights
|
|
72
|
-
|
|
73
|
-
## Architecture
|
|
74
|
-
|
|
75
|
-
### Technology Stack
|
|
76
|
-
- **Vue 3** - Composition API
|
|
77
|
-
- **Vue Router** - Client-side routing
|
|
78
|
-
- **Axios** - HTTP client
|
|
79
|
-
- **Chart.js** - Data visualization
|
|
80
|
-
- **Tailwind CSS** - Styling
|
|
81
|
-
- **Vite** - Build tool
|
|
82
|
-
|
|
83
|
-
### Project Structure
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
webapp/
|
|
87
|
-
├── public/ # Static assets
|
|
88
|
-
├── src/
|
|
89
|
-
│ ├── api/ # API client modules
|
|
90
|
-
│ ├── assets/ # Styles and fonts
|
|
91
|
-
│ ├── components/ # Vue components
|
|
92
|
-
│ │ ├── common/ # Reusable components
|
|
93
|
-
│ │ ├── dashboard/ # Dashboard-specific
|
|
94
|
-
│ │ └── layout/ # Layout components
|
|
95
|
-
│ ├── composables/ # Vue composables
|
|
96
|
-
│ ├── router/ # Router configuration
|
|
97
|
-
│ ├── utils/ # Utility functions
|
|
98
|
-
│ └── views/ # Page components
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## API Integration
|
|
102
|
-
|
|
103
|
-
The application integrates with the following Queen API endpoints:
|
|
104
|
-
|
|
105
|
-
**Dashboard:**
|
|
106
|
-
- `GET /health` - Server health
|
|
107
|
-
- `GET /metrics` - System metrics
|
|
108
|
-
- `GET /api/v1/resources/overview` - System overview
|
|
109
|
-
- `GET /api/v1/status` - Status with throughput
|
|
110
|
-
- `GET /api/v1/resources/queues` - Queue list
|
|
111
|
-
|
|
112
|
-
All API calls use real data - no mocking!
|
|
113
|
-
|
|
114
|
-
## Development Notes
|
|
115
|
-
|
|
116
|
-
- **No WebSocket** - Currently using manual refresh only
|
|
117
|
-
- **No Auto-refresh** - User-controlled data updates
|
|
118
|
-
- **Clean Design** - Minimal animations, focus on clarity
|
|
119
|
-
- **Responsive** - Works on desktop and tablet
|
|
120
|
-
- **Theme Support** - Full light/dark mode
|
|
121
|
-
|
|
122
|
-
## Troubleshooting
|
|
123
|
-
|
|
124
|
-
**CORS Errors:**
|
|
125
|
-
Ensure the Queen server has CORS enabled. The server should include:
|
|
126
|
-
```
|
|
127
|
-
Access-Control-Allow-Origin: *
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**API Connection:**
|
|
131
|
-
Check that the Queen server is running on port 6632:
|
|
132
|
-
```bash
|
|
133
|
-
curl http://localhost:6632/health
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**Port 4000 in use:**
|
|
137
|
-
Change the port in `vite.config.js`:
|
|
138
|
-
```javascript
|
|
139
|
-
server: {
|
|
140
|
-
port: 4001, // or another port
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|