segmentio / analytics-node

The hassle-free way to integrate analytics into any node application.

Home Page:https://segment.com/libraries/node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not all sent 'track' events receive to the debugger tab of the source

and-zverev opened this issue · comments

Hello!
My backend service works with batch processing, so up to 100 track events can be run sequentially, but almost simultaneously (with minimal delay). I decided to test it with 10 simultaneous track events and it turned out that from 4 to 8 events receive to the debugger tab of the source, but the rest never receive. Trying to fix this behaviour, I added { flushAt: 1 } in the options and called the flush method after each track method, but it didn't help.
I am using 6.0.0 version.

const analytics = new Analytics('some-write-key', { flushAt: 1 });
...
analytics.track(someData, function(err) {
  if (err) console.log(err);
  console.log('Your message was successfully flushed!');
});
await analytics.flush(function(err, batch) {
  console.log('Flushed, and now this program can exit!');
});

On the server side everything works without errors - all methods and callbacks are called.
Does anyone have any ideas about this? Am I doing something wrong? I would appreciate any help.

@pooyaj sorry to bother you, but it’s very important to me. Can you help me?

Hi @and-zverev! Just a note that the Segment Debugger is sampling events, and won't display all the events received by Segment. More info here: https://segment.com/docs/connections/sources/debugger/

That is, to check whether all events receive, I must specify the destination, or in some other way? Anyway, I need to make sure that all sent data is stored in the Segment. What is the best way to do this?

@and-zverev probably checking the schema tab in source settings would be helpful:
https://app.segment.com//sources//schema/events