Comments (4)
What are you sending that's that big? That's an out-of-memory error. 🤔
Can you share more details about what the individual span/transaction object looks like and why it's so big?
from apm-nodejs-http-client.
Well, it's related to the issue I referred to (https://github.com/kschingiz/meteor-elastic-apm/pull/34) - which is kind of a longer story.
We're monitoring a framework called Meteor, which provides the option to send "commands" (they refer to it as calling a method) over the wire. All of those are logged including their data. Imagine calling a save
method giving it some parameters - the name of the method and the parameters are sent to the server via a socket connection.
Now - one of the packages uses this technology to upload files. It splits the file up into chunks on the server side and then sends partial-upload-calls to the server containing the files content as argument; and this method (and thereby also it's logging including the full parameters) is called very often within a second. This brings this library to crash.
It's one side of a coin that this clearly is not as this library was intended to be used, but it also surprises me that this library doesn't have a security layer in place here to prevent the system from crashing.
from apm-nodejs-http-client.
I found some resources saying a string in nodejs has a maximum length (nodejs/help#712). It could well be that this already will postpone the problem by such a margin that it doesn't affect us anymore, but I guess it'll come back one day 😄
from apm-nodejs-http-client.
Yes, there is a max string size in JavaScript itself, and there's nothing we can do about that. We do have a bunch of protections in place to avoid crashing the process, but there's not a whole lot that can be done when the process runs out of memory. 🤷♂
from apm-nodejs-http-client.
Related Issues (20)
- Node 11 support HOT 2
- TypeError: Cannot convert undefined or null to object HOT 2
- Cannot get this to send out spans HOT 2
- Non-standard indentation and undefined catch scope HOT 6
- Indentation with EsLint and Prettier HOT 2
- Need to increment git ignore configuration HOT 5
- test failure with node v15.5.0 HOT 1
- Kibana Instrumentation and `APM Server transport error (ECONNRESET): socket hang up` Log Messages HOT 14
- perf: Alternate Options to Initial Stream Corking
- Feature Request: Logging in the Client HOT 1
- Flush seems to complete before request is sent HOT 5
- Blocking Behavior under Benchmarking Load HOT 11
- consider changing payloadLogFile handling to *not* unzip the payload data HOT 1
- 'npm run coverage' errors; breaks checks for node v15 HOT 1
- `client.flush(cb)` callback may not be called in v9.7.0 HOT 1
- Client Behavior in AWS Lambda Enviornment
- CI implementations (in GitHub actions and Jenkinis) duplicate the number of builds per PR HOT 2
- Audit failure due to a vulnerability in semver HOT 1
- Vulnerability in semver HOT 1
- Throws error `Cannot read property 'length' of undefined` on StreamChopper.Writable.write() HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apm-nodejs-http-client.