profoundjs-swagger-stats 1.1.4 → 2.0.1

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.
Files changed (87) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dashboards/prometheus/swagger-stats dashboard v3.json +1269 -0
  3. package/examples/authtest/authtest.js +5 -10
  4. package/examples/fastify/fasifytest.js +24 -5
  5. package/examples/hapijstest/hapijstest.js +17 -2
  6. package/examples/restify/restifytest.js +16 -1
  7. package/examples/spectest/spectest.js +7 -9
  8. package/examples/testapp/petstore.json +1699 -0
  9. package/examples/testapp/testapp.js +6 -62
  10. package/lib/sws-api-swagger.yaml +1 -1
  11. package/lib/swsAPIStats.js +6 -1
  12. package/lib/swsAuth.js +140 -0
  13. package/lib/swsElasticEmitter.js +103 -45
  14. package/lib/swsHapi.js +29 -34
  15. package/lib/swsInterface.js +40 -189
  16. package/lib/swsProcessor.js +6 -1
  17. package/lib/swsReqResStats.js +1 -1
  18. package/lib/swsUtil.js +7 -21
  19. package/lib/swssettings.js +8 -2
  20. package/package.json +90 -91
  21. package/schema/elasticsearch/api_index_template.json +1 -1
  22. package/schema/elasticsearch/api_index_template_7x.json +185 -0
  23. package/scripts/elasticsearch/elastic7/docker-compose.yml +6 -17
  24. package/scripts/elasticsearch/elastic8/docker-compose.yml +34 -0
  25. package/ux/css/app.dc22c4da.css +7 -0
  26. package/ux/css/chunk-vendors.a6da6d7a.css +10 -0
  27. package/ux/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.4aa2e698.woff +0 -0
  28. package/ux/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.40bcb2b8.woff +0 -0
  29. package/ux/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.ea60988b.woff +0 -0
  30. package/ux/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.0774a8b7.woff +0 -0
  31. package/ux/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.bcb7c7e2.woff +0 -0
  32. package/ux/fonts/KFOmCnqEu92Fr1Mu4mxM.d3907d0c.woff +0 -0
  33. package/ux/fonts/fa-brands-400.1a575a41.woff +0 -0
  34. package/ux/fonts/fa-brands-400.ed311c7a.woff2 +0 -0
  35. package/ux/fonts/fa-regular-400.b91d376b.woff2 +0 -0
  36. package/ux/fonts/fa-regular-400.d1d7e3b4.woff +0 -0
  37. package/ux/fonts/fa-solid-900.d745348d.woff +0 -0
  38. package/ux/fonts/fa-solid-900.d824df7e.woff2 +0 -0
  39. package/ux/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.3e1afe59.woff +0 -0
  40. package/ux/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.a4160421.woff2 +0 -0
  41. package/ux/index.html +1 -1
  42. package/ux/js/app.d095d0d6.js +1 -0
  43. package/ux/js/chunk-2d0b90b4.afe783bc.js +8 -0
  44. package/ux/js/chunk-2d0daf1e.a05fda31.js +11 -0
  45. package/ux/js/chunk-461883cd.a2aa4876.js +82 -0
  46. package/ux/js/chunk-vendors.4f167dc9.js +39 -0
  47. package/ux/logo.png +0 -0
  48. package/.editorconfig +0 -21
  49. package/.travis.yml +0 -23
  50. package/dashboards/prometheus/swagger-stats dashboard.json +0 -1118
  51. package/dist/css/sws.min.css +0 -18
  52. package/dist/fonts/FontAwesome.otf +0 -0
  53. package/dist/fonts/fontawesome-webfont.eot +0 -0
  54. package/dist/fonts/fontawesome-webfont.svg +0 -2671
  55. package/dist/fonts/fontawesome-webfont.ttf +0 -0
  56. package/dist/fonts/fontawesome-webfont.woff +0 -0
  57. package/dist/fonts/fontawesome-webfont.woff2 +0 -0
  58. package/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  59. package/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  60. package/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  61. package/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  62. package/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  63. package/dist/images/favicon.png +0 -0
  64. package/dist/js/sws.min.js +0 -1
  65. package/gulpfile.js +0 -103
  66. package/karma.conf.js +0 -153
  67. package/ux/css/app.71245b0e.css +0 -7
  68. package/ux/css/chunk-vendors.809c52d1.css +0 -10
  69. package/ux/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.5cb7edfc.woff +0 -0
  70. package/ux/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.87284894.woff +0 -0
  71. package/ux/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.b00849e0.woff +0 -0
  72. package/ux/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.adcde98f.woff +0 -0
  73. package/ux/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.bb1e4dc6.woff +0 -0
  74. package/ux/fonts/KFOmCnqEu92Fr1Mu4mxM.60fa3c06.woff +0 -0
  75. package/ux/fonts/fa-brands-400.c5e0f14f.woff +0 -0
  76. package/ux/fonts/fa-brands-400.cccc9d29.woff2 +0 -0
  77. package/ux/fonts/fa-regular-400.c4f508e7.woff +0 -0
  78. package/ux/fonts/fa-regular-400.f5f2566b.woff2 +0 -0
  79. package/ux/fonts/fa-solid-900.333bae20.woff +0 -0
  80. package/ux/fonts/fa-solid-900.44d537ab.woff2 +0 -0
  81. package/ux/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.29b882f0.woff +0 -0
  82. package/ux/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.0509ab09.woff2 +0 -0
  83. package/ux/js/app.0159ef6a.js +0 -1
  84. package/ux/js/chunk-2d0b90b4.92f1ea49.js +0 -8
  85. package/ux/js/chunk-461883cd.442efb25.js +0 -76
  86. package/ux/js/chunk-vendors.31d3ce30.js +0 -33
  87. /package/ux/js/{chunk-2d0de2f2.553bf976.js → chunk-2d0de2f2.2848649c.js} +0 -0
@@ -0,0 +1,185 @@
1
+ {
2
+ "template": "api-*",
3
+ "settings": {
4
+ "index.refresh_interval": "1s",
5
+ "analysis": {
6
+ "analyzer": {
7
+ "default": {
8
+ "type": "standard",
9
+ "stopwords": "_none_"
10
+ }
11
+ }
12
+ }
13
+ },
14
+
15
+ "version": 110,
16
+ "mappings": {
17
+
18
+ "dynamic_templates": [
19
+ {
20
+ "reqheaders": {
21
+ "path_match": "http.request.headers.*",
22
+ "mapping": {
23
+ "type": "keyword"
24
+ }
25
+ }
26
+ },
27
+ {
28
+ "reqparams": {
29
+ "path_match": "http.request.params.*",
30
+ "mapping": {
31
+ "type": "keyword"
32
+ }
33
+ }
34
+ },
35
+ {
36
+ "reqquery": {
37
+ "path_match": "http.request.query.*",
38
+ "mapping": {
39
+ "type": "keyword"
40
+ }
41
+ }
42
+ },
43
+ {
44
+ "resheaders": {
45
+ "path_match": "http.response.headers.*",
46
+ "mapping": {
47
+ "type": "keyword"
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "apiparams": {
53
+ "path_match": "api.params.*",
54
+ "mapping": {
55
+ "type": "keyword"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "attrs": {
61
+ "path_match": "attrs.*",
62
+ "mapping": {
63
+ "type": "keyword"
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "attrsint": {
69
+ "path_match": "attrsint.*",
70
+ "mapping": {
71
+ "type": "long"
72
+ }
73
+ }
74
+ }
75
+ ],
76
+
77
+ "properties": {
78
+
79
+ "@timestamp":{
80
+ "type": "date"
81
+ },
82
+ "startts": {
83
+ "type": "date"
84
+ },
85
+ "endts": {
86
+ "type": "date"
87
+ },
88
+ "responsetime": {
89
+ "type": "long"
90
+ },
91
+ "path": {
92
+ "type": "keyword"
93
+ },
94
+ "method": {
95
+ "type": "keyword"
96
+ },
97
+ "query": {
98
+ "type": "keyword"
99
+ },
100
+ "ip": {
101
+ "type": "keyword"
102
+ },
103
+ "real_ip": {
104
+ "type": "keyword"
105
+ },
106
+ "port": {
107
+ "type": "long"
108
+ },
109
+
110
+ "node": {
111
+ "properties": {
112
+ "name": {
113
+ "type": "keyword"
114
+ },
115
+ "version": {
116
+ "type": "keyword"
117
+ },
118
+ "hostname": {
119
+ "type": "keyword"
120
+ },
121
+ "ip": {
122
+ "type": "keyword"
123
+ }
124
+ }
125
+ },
126
+
127
+ "http": {
128
+ "properties": {
129
+ "request": {
130
+ "properties": {
131
+ "clength": {
132
+ "type": "long"
133
+ },
134
+ "url": {
135
+ "type": "keyword"
136
+ },
137
+ "body": {
138
+ "type": "flattened"
139
+ }
140
+ }
141
+ },
142
+ "response": {
143
+ "properties": {
144
+ "clength": {
145
+ "type": "long"
146
+ },
147
+ "code": {
148
+ "type": "long"
149
+ },
150
+ "class": {
151
+ "type": "keyword"
152
+ },
153
+ "phrase": {
154
+ "type": "keyword"
155
+ }
156
+ }
157
+ }
158
+ }
159
+ },
160
+
161
+ "api": {
162
+ "properties": {
163
+ "operationId": {
164
+ "type": "keyword"
165
+ },
166
+ "path": {
167
+ "type": "keyword"
168
+ },
169
+ "query": {
170
+ "type": "keyword"
171
+ },
172
+ "swagger": {
173
+ "type": "boolean"
174
+ },
175
+ "deprecated": {
176
+ "type": "boolean"
177
+ },
178
+ "tags": {
179
+ "type": "keyword"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
@@ -2,30 +2,19 @@ version: '2.2'
2
2
 
3
3
  services:
4
4
  elasticsearch:
5
- image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
5
+ image: docker.elastic.co/elasticsearch/elasticsearch:7.17.8
6
6
  container_name: elasticsearch7
7
7
  environment:
8
- - node.name=es01
9
- - cluster.name=es-cluster751
10
- - discovery.seed_hosts=es01
11
- - cluster.initial_master_nodes=es01
12
- - bootstrap.memory_lock=true
13
- - "ES_JAVA_OPTS=-Xms16g -Xmx16g"
14
- ulimits:
15
- memlock:
16
- soft: -1
17
- hard: -1
18
- nofile:
19
- soft: 65536
20
- hard: 65536
8
+ - discovery.type=single-node
9
+ - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
21
10
  volumes:
22
- - /mnt/data/elasticsearch:/usr/share/elasticsearch/data:rw
11
+ - /mnt/data/elastic7:/usr/share/elasticsearch/data:rw
23
12
  ports:
24
13
  - 9200:9200
25
- networks:
14
+ networks:
26
15
  - elastic
27
16
  kibana:
28
- image: docker.elastic.co/kibana/kibana:7.5.1
17
+ image: docker.elastic.co/kibana/kibana:7.17.8
29
18
  environment:
30
19
  SERVER_NAME: localhost
31
20
  ELASTICSEARCH_URL: http://localhost:9200
@@ -0,0 +1,34 @@
1
+ version: '2.2'
2
+
3
+ services:
4
+ elasticsearch:
5
+ image: docker.elastic.co/elasticsearch/elasticsearch:8.6.0
6
+ container_name: elasticsearch8
7
+ environment:
8
+ - discovery.type=single-node
9
+ - xpack.security.enabled=false
10
+ - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
11
+ volumes:
12
+ - /mnt/data/elastic8:/usr/share/elasticsearch/data:rw
13
+ ports:
14
+ - 9200:9200
15
+ - 9300:9300
16
+ networks:
17
+ - elastic
18
+ kibana:
19
+ image: docker.elastic.co/kibana/kibana:8.6.0
20
+ environment:
21
+ - SERVER_NAME=localhost
22
+ - ELASTICSEARCH_HOSTS=["http://localhost:9200"]
23
+ - XPACK_SECURITY_ENABLED=false
24
+ container_name: kibana8
25
+ ports:
26
+ - 5601:5601
27
+ depends_on:
28
+ - elasticsearch
29
+ networks:
30
+ - elastic
31
+
32
+ networks:
33
+ elastic:
34
+ driver: bridge