macaw_framework 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -1
- data/README.md +5 -0
- data/lib/macaw_framework/aspects/logging_aspect.rb +2 -7
- data/lib/macaw_framework/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0919e302e01808498550b142306c3c1049f3a295c8791cdf86aea193d80ca62
|
4
|
+
data.tar.gz: 7bef47be0b370ba9d70261af9e43c74394405fb104e961e18feed48a9ac2cdc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b2b8b21bb72242f92d984cc274fc76aea1854c62a32c8bbf6200b8d597ea30004cf21dcc7bb9a92b739ea1e22691c987feb9e60df5e2432e23271cd3ab0ef13
|
7
|
+
data.tar.gz: 1b61ebd99268cd0b288bb1cb2bd6c1cc223ed3387d4437ec4fec8d1026d6f6eca033e9279d0324b0c563fa6b02854e9e87cc0b5d5706eb174ca87947ad84b73a
|
data/CHANGELOG.md
CHANGED
@@ -108,6 +108,10 @@
|
|
108
108
|
- Optimizing bug report template on GitHub
|
109
109
|
- Optimizing return clause of the get_files_public_folder method
|
110
110
|
|
111
|
-
## [1.2.0] - 2023-
|
111
|
+
## [1.2.0] - 2023-10-05
|
112
112
|
|
113
113
|
- Fixing bug where the server would accept new connections during shutdown
|
114
|
+
|
115
|
+
## [1.2.1] - 2023-11-06
|
116
|
+
|
117
|
+
- Simplifying logging aspect for readability
|
data/README.md
CHANGED
@@ -8,6 +8,7 @@ provides developers with the essential tools to quickly build and deploy their a
|
|
8
8
|
- [MacawFramework](#macawframework)
|
9
9
|
* [Features](#features)
|
10
10
|
* [Installation](#installation)
|
11
|
+
* [Performance](#performance)
|
11
12
|
* [Compatibility](#compatibility)
|
12
13
|
* [MacawFramework's Built-In Web Server](#macawframeworks-built-in-web-server)
|
13
14
|
* [Usage](#usage)
|
@@ -42,6 +43,10 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
42
43
|
|
43
44
|
$ gem install macaw_framework
|
44
45
|
|
46
|
+
## Performance
|
47
|
+
|
48
|
+
We evaluated MacawFramework (Version 1.2.0) to assess its ability to handle simultaneous requests under heavy load. Disabling non-essential features, such as cache and logging, we observed remarkable results. The framework demonstrated efficient memory usage (243.3 MB average) and handled an impressive 600,000 HTTP requests with an average response time of just 1 millisecond. Throughput reached an outstanding 10,196.45 requests per second. These findings suggest that MacawFramework is well-equipped to handle substantial HTTP traffic without significant performance degradation. For detailed results, please refer to the [full report](https://github.com/ariasdiniz/macaw_performance_test).
|
49
|
+
|
45
50
|
## Compatibility
|
46
51
|
|
47
52
|
MacawFramework is built to be highly compatible, since it uses only native Ruby code:
|
@@ -12,17 +12,12 @@ module LoggingAspect
|
|
12
12
|
return super(*args) if logger.nil?
|
13
13
|
|
14
14
|
endpoint_name = args[1].split(".")[1..].join("/")
|
15
|
-
logger.info(
|
16
|
-
"Request received for #{endpoint_name} with arguments: #{args[2..]}"
|
17
|
-
))
|
15
|
+
logger.info("Request received for [#{endpoint_name}] from [#{args[-1]}]")
|
18
16
|
|
19
17
|
begin
|
20
18
|
response = super(*args)
|
21
|
-
logger.info(LogDataFilter.sanitize_for_logging("Response for #{endpoint_name}: #{response}"))
|
22
19
|
rescue StandardError => e
|
23
|
-
logger.error(
|
24
|
-
LogDataFilter.sanitize_for_logging("Error processing #{endpoint_name}: #{e.message}\n#{e.backtrace.join("\n")}")
|
25
|
-
)
|
20
|
+
logger.error("#{e.message}\n#{e.backtrace.join("\n")}")
|
26
21
|
raise e
|
27
22
|
end
|
28
23
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: macaw_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aria Diniz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prometheus-client
|