mu 5.7.33 → 5.7.34
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.
- data/lib/mu/command/cmd_runscale.rb +3 -2
- data/lib/mu/har.rb +22 -10
- data/lib/mu/maker.rb +1 -0
- data/version.rb +1 -1
- metadata +94 -84
@@ -293,14 +293,15 @@ class Mu
|
|
293
293
|
filename = "app_id_stats.csv"
|
294
294
|
msg "Update stats to: #{File.expand_path(filename)}", Logger::INFO
|
295
295
|
unless File.exists?(filename)
|
296
|
-
heading = "scenario,executed,errors,timeouts,client_tx_bytes,client_tx_msgs,client_tx_bitrate,client_rx_bytes,client_rx_msgs,client_rx_bitrate,server_tx_bytes,server_tx_msgs,server_tx_bitrate,server_rx_bytes,server_rx_msgs,server_rx_bitrate,total_instances,max_active_tcp_connections"
|
296
|
+
heading = "scenario,executed,errors,timeouts,client_tx_bytes,client_tx_msgs,client_tx_bitrate,client_rx_bytes,client_rx_msgs,client_rx_bitrate,server_tx_bytes,server_tx_msgs,server_tx_bitrate,server_rx_bytes,server_rx_msgs,server_rx_bitrate,total_instances,max_active_tcp_connections,verify_response"
|
297
297
|
File.open(filename, 'a'){|f| f.puts(heading)}
|
298
298
|
end
|
299
299
|
@row = [msl_file,@executed,@errors,@timeouts,
|
300
300
|
@client_tx_bytes,@client_tx_msgs,@client_tx_bitrate,
|
301
301
|
@client_rx_bytes,@client_rx_msgs,@client_rx_bitrate,
|
302
302
|
@server_tx_bytes,@server_tx_msgs,@server_tx_bitrate,
|
303
|
-
@server_rx_bytes,@server_rx_msgs,@server_rx_bitrate
|
303
|
+
@server_rx_bytes,@server_rx_msgs,@server_rx_bitrate,
|
304
|
+
@total_instances,@max_active_tcp_connections,@verify_response]
|
304
305
|
File.open(filename, 'a'){|f| f.puts(@row.join(','))}
|
305
306
|
end
|
306
307
|
|
data/lib/mu/har.rb
CHANGED
@@ -240,7 +240,8 @@ class Har
|
|
240
240
|
cs.block('struct [',']') do
|
241
241
|
cs.string(param['name'] + '=')
|
242
242
|
cs.block('uri_percent_encode [',']') do
|
243
|
-
|
243
|
+
# This is so we correctly escape strange unicode characters
|
244
|
+
cs.string Regexp.escape(param['value'].bytes.to_a.map(&:chr).join.inspect)
|
244
245
|
end
|
245
246
|
end
|
246
247
|
end
|
@@ -393,7 +394,7 @@ class Har
|
|
393
394
|
elsif(header['name'] === 'Content-Encoding')
|
394
395
|
# Check out content encoding
|
395
396
|
# We can do GZIP
|
396
|
-
if header['value'] == HTTP_GZIP_CONTENT_ENCODING
|
397
|
+
if header['value'] == HTTP_GZIP_CONTENT_ENCODING or header['value'] == HTTP_DEFLATE_CONTENT_ENCODING
|
397
398
|
content_encoding = true
|
398
399
|
else
|
399
400
|
raise NotImplementedError, "Content-Encoding: #{header['value']}"
|
@@ -415,13 +416,17 @@ class Har
|
|
415
416
|
# If we need to replace the content with a special repeated field
|
416
417
|
if @options.strip_large_content
|
417
418
|
body = []
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
419
|
+
if req_res.has_key?('content')
|
420
|
+
if req_res['content']['size'] > @options.large_content_size
|
421
|
+
# Take first 1K bytes from the content and repeat
|
422
|
+
body << payload[0, HTTP_CONTENT_SLICE_SIZE]
|
423
|
+
else
|
424
|
+
# Set response body
|
425
|
+
body << payload
|
426
|
+
end
|
422
427
|
else
|
423
|
-
#
|
424
|
-
|
428
|
+
# If the content is empty no need to strip it
|
429
|
+
return
|
425
430
|
end
|
426
431
|
|
427
432
|
# Yes calculate the number of 1K chunks we need to inject
|
@@ -447,8 +452,12 @@ class Har
|
|
447
452
|
end
|
448
453
|
cs_send.literal_no_format("\"");
|
449
454
|
else
|
450
|
-
payload
|
451
|
-
|
455
|
+
# If the payload contains a string that looks like it will require ruby variable interpolation #{} => \x23{} when escaped
|
456
|
+
if(payload =~ /#\{.*}/)
|
457
|
+
new_payload = payload.split(/#\{/).join("#\"\n\"{")
|
458
|
+
payload = new_payload
|
459
|
+
end
|
460
|
+
cs_send.literal("\"" + self.escape(payload) + "\"")
|
452
461
|
end
|
453
462
|
|
454
463
|
|
@@ -497,6 +506,9 @@ class Har
|
|
497
506
|
|
498
507
|
# Takes input and a table that maps ascii codes to their representation
|
499
508
|
def escape input, escapes=nil
|
509
|
+
#output = input.bytes.to_a.map(&:chr).join.inspect
|
510
|
+
#return output
|
511
|
+
|
500
512
|
escapes ||= ESCAPES
|
501
513
|
output = []
|
502
514
|
input.each_byte do |i|
|
data/lib/mu/maker.rb
CHANGED
data/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
VERSION='5.7.
|
1
|
+
VERSION='5.7.34'
|
metadata
CHANGED
@@ -1,148 +1,158 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: mu
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.7.33
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 5.7.34
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- MuEng
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2011-08-03 00:00:00 -05:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
15
17
|
name: nokogiri
|
16
|
-
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
20
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
21
24
|
version: 1.4.4
|
22
25
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
26
28
|
name: rest-client
|
27
|
-
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
31
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
32
35
|
version: 1.6.1
|
33
36
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
37
39
|
name: mime-types
|
38
|
-
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
42
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: "1.16"
|
44
47
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
48
50
|
name: json
|
49
|
-
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
53
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: "0"
|
55
58
|
type: :runtime
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
59
61
|
name: hexy
|
60
|
-
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
64
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
65
68
|
version: 0.1.1
|
66
69
|
type: :runtime
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
+
version_requirements: *id005
|
71
|
+
- !ruby/object:Gem::Dependency
|
70
72
|
name: uuid
|
71
|
-
|
73
|
+
prerelease: false
|
74
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
75
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
76
79
|
version: 2.0.2
|
77
80
|
type: :runtime
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
email:
|
81
|
+
version_requirements: *id006
|
82
|
+
description: |-
|
83
|
+
The Mu gem allows users to include mu libraries within scripts
|
84
|
+
that interact with mu appliance software. The gem also supplies command line interfaces
|
85
|
+
to many of these same libraries
|
86
|
+
email:
|
84
87
|
- info@mudynamics.com
|
85
|
-
executables:
|
88
|
+
executables:
|
86
89
|
- mu
|
87
90
|
extensions: []
|
91
|
+
|
88
92
|
extra_rdoc_files: []
|
89
|
-
|
90
|
-
|
91
|
-
- lib/mu/
|
92
|
-
- lib/mu/http_helper.rb
|
93
|
-
- lib/mu/client.rb
|
94
|
-
- lib/mu/api/netconfig.rb
|
95
|
-
- lib/mu/api/muapi.rb
|
93
|
+
|
94
|
+
files:
|
95
|
+
- lib/mu/api/ddt.rb
|
96
96
|
- lib/mu/api/homepage.rb
|
97
|
-
- lib/mu/api/
|
97
|
+
- lib/mu/api/muapi.rb
|
98
|
+
- lib/mu/api/netconfig.rb
|
98
99
|
- lib/mu/api/scale.rb
|
99
|
-
- lib/mu/api/
|
100
|
-
- lib/mu/
|
101
|
-
- lib/mu/maker.rb
|
102
|
-
- lib/mu/command/cmd_homepage.rb
|
100
|
+
- lib/mu/api/system.rb
|
101
|
+
- lib/mu/client.rb
|
103
102
|
- lib/mu/command/api.rb
|
104
103
|
- lib/mu/command/cmd_ddt.rb
|
105
|
-
- lib/mu/command/
|
106
|
-
- lib/mu/command/curl.rb
|
104
|
+
- lib/mu/command/cmd_homepage.rb
|
107
105
|
- lib/mu/command/cmd_muapi.rb
|
108
|
-
- lib/mu/command/help.rb
|
109
106
|
- lib/mu/command/cmd_musl.rb
|
110
|
-
- lib/mu/command/
|
107
|
+
- lib/mu/command/cmd_netconfig.rb
|
108
|
+
- lib/mu/command/cmd_runanalysis.rb
|
111
109
|
- lib/mu/command/cmd_runscale.rb
|
112
110
|
- lib/mu/command/cmd_runscenario.rb
|
113
|
-
- lib/mu/command/cmd_runanalysis.rb
|
114
|
-
- lib/mu/command/cmd_netconfig.rb
|
115
111
|
- lib/mu/command/cmd_runverify.rb
|
112
|
+
- lib/mu/command/cmd_scale.rb
|
113
|
+
- lib/mu/command/cmd_system.rb
|
114
|
+
- lib/mu/command/curl.rb
|
115
|
+
- lib/mu/command/help.rb
|
116
116
|
- lib/mu/command.rb
|
117
117
|
- lib/mu/curl/error.rb
|
118
118
|
- lib/mu/curl/verify.rb
|
119
|
+
- lib/mu/har.rb
|
120
|
+
- lib/mu/helper.rb
|
121
|
+
- lib/mu/http_helper.rb
|
122
|
+
- lib/mu/maker.rb
|
123
|
+
- lib/mu.rb
|
119
124
|
- bin/mu
|
120
125
|
- Mu_Gem.html
|
121
126
|
- version.rb
|
122
127
|
- LICENSE.txt
|
123
128
|
- README.rdoc
|
129
|
+
has_rdoc: true
|
124
130
|
homepage: http://www.mudynamics.com
|
125
131
|
licenses: []
|
132
|
+
|
126
133
|
post_install_message:
|
127
134
|
rdoc_options: []
|
128
|
-
|
135
|
+
|
136
|
+
require_paths:
|
129
137
|
- lib
|
130
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
139
|
none: false
|
132
|
-
requirements:
|
133
|
-
- -
|
134
|
-
- !ruby/object:Gem::Version
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
135
143
|
version: 1.8.7
|
136
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
145
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version:
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: "0"
|
142
150
|
requirements: []
|
151
|
+
|
143
152
|
rubyforge_project:
|
144
|
-
rubygems_version: 1.
|
153
|
+
rubygems_version: 1.6.2
|
145
154
|
signing_key:
|
146
155
|
specification_version: 3
|
147
156
|
summary: Mu Dynamics General Purpose Library and Command Line Tool
|
148
157
|
test_files: []
|
158
|
+
|