Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Aman Madaan
    @madaan
    Hi everyone,
    I was wondering if it's possible to send a "start" beacon that will always be fired first. I'm trying to batch xhr calls manually since the autoxhr plugin isn't working as expected (could be the framework we are using).
    Thanks
    Philip Tellis
    @bluesmoon
    @MartinNuc you're required to either use a plug-in that calls sendBeacon, or to call it from your own code.
    Mitch McKenzie
    @mitchmckenzie
    I have a fairly complicated angular app that I'm trying to log performance data for and I'm finding it very difficult to group the beacons together that were spawned from a single click event so that we can easily report the RUM time. I did find a "cl" timestamp that is stored in the "RT" cookie (e.g. "nu=[url]%2F&cl=1536867262470") that seems to give me the ability to group a bunch of xhr requests together. Is there a better/easier way to do this?
    One more question too: Can I configure how the beacon params are named? I am sending the params to a grails app and auto-binding the beacon params to a command object which only works if the params are valid variable names(so no periods). My workaround for this is to duplicate the beacons params in the "before_beacon" event that have periods in the key names and replace the period with an uderscore.
    Mitch McKenzie
    @mitchmckenzie
    @bluesmoon awesome profile pic btw
    Mitch McKenzie
    @mitchmckenzie
    Anybody out there?
    Mitch McKenzie
    @mitchmckenzie
    All go ahead and add another question: is there a way to get more user agent information. For example all I get for Chrome is : Win32 and Google Inc
    for IE 11 I just get Win32
    Philip Tellis
    @bluesmoon
    @mitchmckenzie for user agent information you should look at the User-Agent HTTP request header on the server side when you receive your beacon. It has all the information you need.
    regarding your app, you should not have multiple beacons for a single click event if page changes and XHRs happened close enough together.
    Mitch McKenzie
    @mitchmckenzie
    "regarding your app, you should not have multiple beacons for a single click event if page changes and XHRs happened close enough together." Not sure why you say that because I see apps fire multiple xhr request all the time as a result of a single click
    Philip Tellis
    @bluesmoon
    That's not the way it's designed to work, so it's possibly a bug. What should happen is that if an XHR happens soon after a click, then it gets clubbed in with that click. If DOM mutations or XHRs happen soon after this XHR, then they also get clubbed together, and finally, if there are no changes for a short duration (500ms IIRC), then a single beacon is sent that covers all these XHRs and DOM mutations.
    If that's not happening, then I'd say it's a bug
    Mitch McKenzie
    @mitchmckenzie
    Perhaps but when I report on the data I can roll those up into a single measurement
    Mitch McKenzie
    @mitchmckenzie
    Are the beacons posts asynchronously so they do not interfere with the page?
    Philip Tellis
    @bluesmoon
    yes, it uses the Beacon API where supported or async XHR where not, and falls back to an IMG if cross-domain async XHR is not supported
    MaximSergeichik
    @MaximSergeichik
    Hi guys,
    I'm trying to use boomerang for painting monitoring, but there are no paint timing metrics in the beacon request. Can somebody help me with PaintTiming plugin?
    Mitch McKenzie
    @mitchmckenzie
    Is there a way to kill the console debug output from BOOMR?
    Mitch McKenzie
    @mitchmckenzie
    nevermind figured it out from the source code: log:null in the config does the job
    Mitch McKenzie
    @mitchmckenzie
    Is there a way to log the request bodies of the request using boomerang?
    Philip Tellis
    @bluesmoon
    are you referring to the beacon request body or some other request body?
    Quinten Pohl
    @quintenp
    Probably XHR bodies
    And yes it's possible and quite easy using the autoxhr plugin
    Philip Tellis
    @bluesmoon
    we don't log those (because it would be very bad for performance)
    but you could easily add your own log statement
    Quinten Pohl
    @quintenp
    Given that you add the code yourself
    Philip Tellis
    @bluesmoon
    yeah
    Quinten Pohl
    @quintenp
    Bad practise since you could easily log pci data which can net you serious issues since the GDPR laws
    Mitch McKenzie
    @mitchmckenzie
    @bluesmoon : For a given request that the auto-xhr plugin handles ... I want the beacon data to include the body of the request (aka the request payload) , in my case it will be a blob of JSON data
    Quinten Pohl
    @quintenp
    @bluesmoon ever thought about using fetch api
    Mitch McKenzie
    @mitchmckenzie
    I want the data so I can scrap it out later for reporting purposes
    Quinten Pohl
    @quintenp
    So fetch ->sendBeacon->she
    Xhr
    Mitch McKenzie
    @mitchmckenzie
    not sure I follow
    Quinten Pohl
    @quintenp
    Not relevant to your ask @mitchmckenzie
    Mitch McKenzie
    @mitchmckenzie
    ok
    thought you were talking about my question
    Quinten Pohl
    @quintenp
    @mitchmckenzie you can easily do it write your own code that grabs the body in the autoxhr plugin or event
    Mitch McKenzie
    @mitchmckenzie
    i wonder if I can snag it in the before beacon event
    Quinten Pohl
    @quintenp
    I was asking @bluesmoon if he considered using fetch api->sendBeacon->xhr when sending beacons in that order
    Better support across the board
    Also @bluesmoon I considered adding timing to the unload event since people can execute some real nasty code there. E.g. if you fire xhr while unloading you can block a navigation or close. The only problem would be sending the data onwards should they nav out the boomr zone
    Quinten Pohl
    @quintenp
    @mitchmckenzie you could there are other means as well, eg. what happens with your response? Is there a downstream process that can add it via BOOMR.AddVar()
    but easy enough in either case
    Mitch McKenzie
    @mitchmckenzie
    looks like the xhr_send and xhr_load will give me the ability to grab data elements from request/response payloads
    Mitch McKenzie
    @mitchmckenzie
    I have a pdf that loads inside of an iframe... what's the best way to leverage boomerang to time loading the pdf?
    Philip Tellis
    @bluesmoon
    You'd have to attach to the iframe's onload event. Resource Timing may have info, but the iframe itself doesn't have a window object.
    Samar Panda
    @samarpanda
    Is npm run test expected to run locally? Wondering why is it breaking at "karma:unit:ChromeHeadless"? Below is the message what i get
    Running "strip_code:debug" (strip_code) task
    
    Running "strip_code:prod" (strip_code) task
    
    Running "karma:unit:ChromeHeadless" (karma) task
    05 10 2018 11:16:34.172:WARN [watcher]: Pattern "/Users/apple/projects/boomerang/tests/vendor/mocha/mocha.css" does not match any file.
    05 10 2018 11:16:34.174:WARN [watcher]: Pattern "/Users/apple/projects/boomerang/tests/vendor/mocha/mocha.js" does not match any file.
    05 10 2018 11:16:34.175:WARN [watcher]: Pattern "/Users/apple/projects/boomerang/tests/vendor/assertive-chai/dist/assertive-chai.js" does not match any file.
    05 10 2018 11:16:34.210:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:4000/
    05 10 2018 11:16:34.211:INFO [launcher]: Launching browser ChromeHeadless with unlimited concurrency
    05 10 2018 11:16:34.215:INFO [launcher]: Starting browser ChromeHeadless
    05 10 2018 11:16:34.716:INFO [HeadlessChrome 69.0.3497 (Mac OS X 10.14.0)]: Connected on socket vDRuKUkbdmMr8hn0AAAA with id 41279479
    HeadlessChrome 69.0.3497 (Mac OS X 10.14.0) ERROR
      Uncaught ReferenceError: chai is not defined
      at unit/00-logging.js:5
    
    HeadlessChrome 69.0.3497 (Mac OS X 10.14.0) ERROR
      Uncaught ReferenceError: chai is not defined
      at unit/00-logging.js:5
    
    1..0
    05 10 2018 11:16:34.833:INFO [karma-tap-reporter]: writing report to file: /Users/apple/projects/boomerang/tests/results/unit.tap
    Warning: Task "karma:unit:ChromeHeadless" failed. Use --force to continue.
    
    Aborted due to warnings.
    npm ERR! Test failed.  See above for more details.
    Is anyone else getting similar error? Please share some pointer to make this work.