This project is mirrored from https://gitee.com/cowcomic/pixie.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 15 Oct, 2020 1 commit
    • Michelle Nguyen's avatar
      Fix graph widget where it whitescreens when given invalid visspec values · db8a15a8
      Michelle Nguyen authored
      Summary:
      we updated the visspec so that it tries to get the edgeHoverInfo from a column that doesn't actually exist in the table.
      the graph widget should be more robust to this case so that it doesnt ever crash when given invalid input
      
      Test Plan: ran in webpack
      
      Reviewers: nserrino, philkuz, zasgar, #engineering, nick
      
      Reviewed By: #engineering, nick
      
      Subscribers: nick
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6522
      
      GitOrigin-RevId: 60b083a0463d76550f967e2dc3ce4c2f421be0c0
      db8a15a8
  2. 14 Oct, 2020 9 commits
    • Yaxiong Zhao's avatar
      [CLEANUP] Extract ParseStructBlobToJSON() · 8774db8c
      Yaxiong Zhao authored
      Summary:
      This is from D6499.
      
      Changes will be made to ExtractStructBlobAsJSON() in the part that
      outside of ParseStructBlobToJSON().
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6519
      
      GitOrigin-RevId: d53b7ad51ca822b41ada224a7376c681717dcd0f
      8774db8c
    • Omid Azizi's avatar
      UDPSocket: For testing UDP connections · eb2761a2
      Omid Azizi authored
      Summary: DNS uses UDP, so this utility will help with testing.
      
      Test Plan: Test added.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6510
      
      GitOrigin-RevId: f9e6b84afd48093b1ec9544e79e1ab9f0c7448e5
      eb2761a2
    • Nick Lanam's avatar
      Purge localStorage and sessionStorage on user logout. · bb159016
      Nick Lanam authored
      Summary: This needs to be done for several reasons, but the impetus was seeing Bolt clusters when a support account was looking at customer clusters. The issue was that Apollo's cache was being consulted while a graphql query was stalling due to a partial node outage; the Apollo cache shouldn't be persisting between logins in the first place.
      
      Test Plan: Look at the clusters page when your devtools are set to use an extremely high-latency connection. Heartbeats won't update every 2.5sec like they should, because latency is to high to do so. On a fresh login, you should no longer see stale data while waiting out the latency period.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6515
      
      GitOrigin-RevId: 58901205697e8ecb42b6ed64a85bc0cea48631b4
      bb159016
    • Nick Lanam's avatar
      Don't assume that a keyboard event was used to trigger a keyboard shortcut. · f46939db
      Nick Lanam authored
      Summary: The "Keyboard Shortcuts" button in the profile menu triggers the same thing that `Shift+/` does, without using a keyboard event.
      
      Test Plan: Check the profile menu. As before, the keyboard shortcut `Shift+/` should still summon the same help dialog, unless typing a literal question mark into a text field (like a breadcrumb or the command input).
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PC-640
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6517
      
      GitOrigin-RevId: b1475ee40a01b4e42d54d7f361a93b7cf98b2511
      f46939db
    • Yaxiong Zhao's avatar
      [CLEANUP] Extract ProcessStructBlob() for producing StructBlob · bcd171a3
      Yaxiong Zhao authored
      Summary: This is part from D6499.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6509
      
      GitOrigin-RevId: dbbadcd25731a24c82dc107e2343ba0ff1caf553
      bcd171a3
    • Yaxiong Zhao's avatar
      Add memcpy wrapper · ce2db737
      Yaxiong Zhao authored
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6486
      
      GitOrigin-RevId: 8aed080c1e05cdbcc8b17f484a8b37e912474c70
      ce2db737
    • Michelle Nguyen's avatar
      UI: Fix auth redirect for invalid segment key · 12116ce0
      Michelle Nguyen authored
      Summary:
      I put out a fix that makes the login wait to redirect until the segment analytics have been sent out, otherwise we don't properly track our login events and don't have proper user identification for the downstream segment events.
      however, i only tested in webpack with a valid segment key. most of the time, when a developer is running webpack, they won't have a valid segment key.
      this actually causes login to not redirect, because it will wait for segment forever.
      
      Test Plan: ran in webpack
      
      Reviewers: zasgar, nserrino, nick, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6514
      
      GitOrigin-RevId: 5fc9c11b0bba7bc5a4d76a75229acab965ae8ae6
      12116ce0
    • Omid Azizi's avatar
      Stirling k8s script: no time limit option · 0f4ffa8d
      Omid Azizi authored
      Summary: Small script tweak.
      
      Test Plan: Manual
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6500
      
      GitOrigin-RevId: 721a56108cf0fa1f95759368916c87723a50317c
      0f4ffa8d
    • Michelle Nguyen's avatar
      Move announcekit from behind feature flag · 17da3083
      Michelle Nguyen authored
      Summary:
      before, we put announcekit behind a featureflag because we weren't ready to show it to everyone yet.
      now, we want to actually start sending announcements, and it seems unlikely that we'll remove announcekit in the future, so it doesn't need to be behind a featureflag anymore.
      
      Test Plan: ran webpack and check that announcekit does now show up for everyone
      
      Reviewers: zasgar, nserrino, nick, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6508
      
      GitOrigin-RevId: d025ca99d5dbf2a7277e46f4545658ac12005fb5
      17da3083
  3. 12 Oct, 2020 1 commit
    • Michelle Nguyen's avatar
      Fix analytics for login · 63bc4975
      Michelle Nguyen authored
      Summary:
      We were not properly tracking user logins/identifies, since we redirect too quickly after the analytic functions are called.
      instead, we need to actually wait for the call to segment to be complete before redirecting. unfortunately, the best way to do this is to wrap their function in a promise and resolve the promise in the callback: https://github.com/segmentio/analytics-node/issues/93
      
      now that we are waiting for the segment call to be made, we actually stay on the "Logging in..." page for a few seconds. (the page in the screenshot below)
      
      Test Plan:
      ran in webpack while checking segment debugger
      {F97130}
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6494
      
      GitOrigin-RevId: 7b2151a6a4352e4b57960f456814e00ab083809d
      63bc4975
  4. 07 Oct, 2020 2 commits
  5. 14 Oct, 2020 1 commit
    • Omid Azizi's avatar
      [Cleanup] GetConnMapKey() · 62cdf596
      Omid Azizi authored
      Summary:
      Forking off a piece of D5017, which I'm choosing not to land until we better understand whether it is a performance win.
      
      But this piece is just clean-up which can stand on its own.
      
      Test Plan: Existing tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6507
      
      GitOrigin-RevId: 897b3743bc8966a914262cef7c18f2617bd1d281
      62cdf596
  6. 13 Oct, 2020 1 commit
  7. 14 Oct, 2020 1 commit
  8. 13 Oct, 2020 3 commits
    • Nick Lanam's avatar
      Provide a visual hint to press Shift+Enter in the Cmd+K input. · d0bd6778
      Nick Lanam authored
      Summary:
      Discoverability ahoy!
      
      It looks like this:
      {F97202}
      
      Test Plan: Open the command input (Ctrl/Cmd+K). Look at the right side for the hint; try typing enough text to overflow the text box.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: nserrino, #engineering
      
      JIRA Issues: PC-623
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6501
      
      GitOrigin-RevId: 34807fcf3ff888459a85cecb65be5f196efc18d8
      d0bd6778
    • Michelle Nguyen's avatar
      Send K8s Events in Cloudconn heartbeats · 52e4e088
      Michelle Nguyen authored
      Summary:
      We've been seeing the customer clusters struggling to start up without any sentry errors or logs in elastic.
      by showing the k8s events in our control plane UI, similar to a `kubectl describe pod`, we should be able to narrow down whether there is an issue with starting the pod in K8s itself.
      this diff just adds the k8s events in the heartbeat.
      after this, there also needs to be a diff on the cloud-side for making this data available over gql.
      once that is done, we can add the information in the UI
      
      Test Plan: updated 0.5.2 -> an rc, to make sure the cloudconn role gets updated successfully by the update job. check that the rc can get events from k8s API
      
      Reviewers: nserrino, zasgar, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6502
      
      GitOrigin-RevId: 47a400699e8a3211ad74ae6d4c7016fa0d12b217
      52e4e088
    • Nick Lanam's avatar
      Override width for duration columns · f7c5b2e8
      Nick Lanam authored
      Summary:
      This is imperfect, but it gets the job done. See screenshots.
      
      On the provided script in PC-628:
      {F97174}
      
      On a smaller screen:
      {F97176}
      
      On the default `px/http` script:
      {F97175}
      
      Test Plan: See PC-628 for example script. Also test with the default `px/http_data`, and using the mobile dimensions emulation in your browser. In all cases, the default width of `ST_DURATION_NS` columns should now be more reasonable.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PC-628
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6498
      
      GitOrigin-RevId: 5ee77b244c398def1020268431e8aeb3a41cd3e7
      f7c5b2e8
  9. 12 Oct, 2020 1 commit
    • Nick Lanam's avatar
      Don't replicate a singleton unload handler. · 17070233
      Nick Lanam authored
      Summary: It only needs to run once and it acts on a stateful variable, so there's no point repeating the listener (nor removing an old one to do so).
      
      Test Plan: Set a debugger on live.tsx:163. In prod, it triggers many times if you've run a few scripts or switched clusters several times in a run. This fix makes it run once.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6495
      
      GitOrigin-RevId: 1e8aeda65823338362eb1e0a0263cd38eca31a8b
      17070233
  10. 13 Oct, 2020 2 commits
  11. 12 Oct, 2020 4 commits
    • Michelle Nguyen's avatar
      Fix whitescreen from request-graph namespace parsing · 00de971a
      Michelle Nguyen authored
      Summary:
      there are two issues here:
      1. a race condition when the script is changed
      when a script is selected from the breadcrumbs, we call setScript to set the pxl/vis/args etc. This immediately triggers a rerender of the canvas, which actually tries rendering the request graph with the new display with old data.
      however, we noticed that the script change using cmd-k doesn't try to render the request graph with old data.
      the script switch code looks the same. however, for cmd-k, after setScript is called, it also calls execute() before the rerender of the canvas is triggered. execute sets loading to true on the canvas, so it doesn't try to render the request graph with old data.
      to handle this, i updated the ordering of the script/execute, since the loading state should always be set before the canvas rerenders and execute has no dependency on the current script state.
      this fix is not actually necessary because of the fix for (2) below. it is also not the greatest fix, because what we should really do is cleanup our UI and all of the useEffect chains which are causing unnecessary renders
      
      2. the request graph should be able to handle an invalid data and should never whitescreen in the first place.
      
      Test Plan: switched between scripts in both the breadcrumbs and cmd-k
      
      Reviewers: zasgar, nserrino, #engineering, philkuz
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6445
      
      GitOrigin-RevId: 812e4773981c5ffb0951e8163c3a66f05f4ce0e6
      00de971a
    • Omid Azizi's avatar
      SocketTracer: Use byte positions instead of sequence numbers · 7d4237db
      Omid Azizi authored
      Summary:
      Use byte position instead of sequence numbers for BPF events.
      
      For now, this is just a different way to encode events, and may seem like a lateral move rather than an improvement.
      
      This will, however, open the door to putting the data directly into a buffer instead of an std::map and then copying the data to process it.
      
      Test Plan: Existing tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      JIRA Issues: PP-935
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6491
      
      GitOrigin-RevId: dc7dc145ecd6f7fdbeae4fc76847581270d46d69
      7d4237db
    • Omid Azizi's avatar
      DNS tracer test framework · d0fbdcf4
      Omid Azizi authored
      Summary: Create a DNS server container, and trigger a DNS request.
      
      Test Plan: The test itself.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6489
      
      GitOrigin-RevId: 10e411a7cbbf933dda364da1850f044ed8790a8f
      d0fbdcf4
    • Nick Lanam's avatar
      Turn "Run" button into "Stop" button when a script is running long. · 2f8db7e8
      Nick Lanam authored
      Summary:
      It waits one second before doing this to avoid flickering on scripts that run quickly.
      
      {F97120}
      
      Test Plan: Run a fast script, a slow one, a few that fail reliably, etc. For one that usually takes a long time, try `etcd_get_trace`; `http_data` in production sits close to the threshold for some clusters and is a good example for both cases.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PC-635
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6493
      
      GitOrigin-RevId: bbca0b6da6270b8f72bee45105f7313db53494a5
      2f8db7e8
  12. 08 Oct, 2020 1 commit
  13. 12 Oct, 2020 1 commit
  14. 09 Oct, 2020 3 commits
  15. 08 Oct, 2020 1 commit
  16. 06 Oct, 2020 1 commit
  17. 08 Oct, 2020 1 commit
    • Nick Lanam's avatar
      Block shortcut handlers that would manipulate text in a focused element. · fe059c76
      Nick Lanam authored
      Summary: This way, typing a question mark doesn't also open the keyboard help.
      
      Test Plan: Try editing text in a breadcrumb. Shortcuts such as Shift+/ should be suppressed while in the text field (and not outside of it), while shortcuts like Cmd+K still function even while in a text field.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PC-632
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6482
      
      GitOrigin-RevId: d5eebac2d6a869c55a206084d6f53884b42896f5
      fe059c76
  18. 05 Oct, 2020 2 commits
  19. 07 Oct, 2020 4 commits
    • Yaxiong Zhao's avatar
      Wait until child process' exe path changed when launching subprocess · 0fb77828
      Yaxiong Zhao authored
      Summary:
      This is useful to avoid possible cases of /proc filesystems not updated when accessing child PID.
      Ran into a case where resolving exe path returns the parent process' exe path,
      because the /proc file system has not been updated.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6470
      
      GitOrigin-RevId: ebff75a10ec69ba30a5433facbcde37d537e3722
      0fb77828
    • Omid Azizi's avatar
      [Cleanup] inet_utils · bd6e90b7
      Omid Azizi authored
      Summary:
      A bunch of clean-up items:
      
      1) New InetAddr which is just for IP addresses (unlike SockAddr which includes a port).
      2) Move body of functions into cc files
      3) Group related code together.
      4) More.
      
      Test Plan: Existing tests
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6473
      
      GitOrigin-RevId: a4068ddba9795e60f2f0490caf4bc19a97525b2c
      bd6e90b7
    • Omid Azizi's avatar
      Stirling: Don't exclude self from conn_stats · 91696c1c
      Omid Azizi authored
      Summary:
      This makes sure stirling reports itself for the purposes of conn_stats.
      
      I pulled in part of https://phab.corp.pixielabs.ai/D5017 into this diff, since it had already added a send_data argument to the perf_submit functions.
      
      Test Plan: Manual.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6476
      
      GitOrigin-RevId: d3c75235ba87dc3a6026300d023ec66f32d7658a
      91696c1c
    • James Bartlett's avatar
      PC-617: Empty service/pod will now render in the legend. · 7b5d6090
      James Bartlett authored
      Summary: If the pod or service is an empty string, then the vega view will display it as "No associated service/pod".
      
      Test Plan: Tried it out on px/node with group by as service.
      
      Reviewers: philkuz, #engineering
      
      Reviewed By: philkuz, #engineering
      
      JIRA Issues: PC-617
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6478
      
      GitOrigin-RevId: 4ade076accad577bfffc4b60f0064dcbcabdfb57
      7b5d6090