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. 29 Oct, 2020 5 commits
    • Michelle Nguyen's avatar
      Fix graph height · 314458bf
      Michelle Nguyen authored
      Summary: the graph wasn't correctly filling the height of the grid container. when the widget container is resized, it can sometimes be larger than the widget container itself and make the "enable hierarchy" button impossible to click
      
      Test Plan: ran webpack
      
      Reviewers: zasgar, nserrino, oazizi, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6640
      
      GitOrigin-RevId: 03275d6b49c47d31b48a9bc1e57d7dcd1c88425d
      314458bf
    • Yaxiong Zhao's avatar
      Matches pod name as prefix · 3c955335
      Yaxiong Zhao authored
      Summary:
      Such that pxtrace.PodProcess() can specify a prefix of pod name.
      
      This is useful when pods are restarted, where its prefix is the same, but the suffix is different.
      This ensures the script remain valid after pod restarting.
      
      Test Plan: Manual test on GKE cluster
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6639
      
      GitOrigin-RevId: 5d659cb0d42e14a3c4f093238138962c9a7b2c55
      3c955335
    • Yaxiong Zhao's avatar
      Assign readable error message to 'error' field · 305074d9
      Yaxiong Zhao authored
      Test Plan: Manual test on test gke cluster
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6637
      
      GitOrigin-RevId: 9a4c13f4da80f681d6101c142c0962faddd0f262
      305074d9
    • Michelle Nguyen's avatar
      Allow enabling/disabling hierarchy for regular graphs · 24d06345
      Michelle Nguyen authored
      Summary: similar to our request graphs, we want to give the option of having a hierarchical layout
      
      Test Plan:
      spent awhile tweaking the params to try to get something that looked ok with larger graphs.
      this is what i came up with so far:
      zoomed out:
      {F98772}
      closer view:
      {F98773}
      
      net_flow_graph slight zoom-in view (without any filtering)
      {F98774}
      
      Reviewers: zasgar, nserrino, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6638
      
      GitOrigin-RevId: 3fdb285d52b59701b659a5f56854cdcf4794447c
      24d06345
    • Yaxiong Zhao's avatar
      Fix decoder index mismatches between the BCC code and protobuf · 69489139
      Yaxiong Zhao authored
      Summary: The buggy code overlooks the continue statement, causing the indexes mismatching.
      
      Test Plan: Manual test on gke
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6636
      
      GitOrigin-RevId: d5e9989a1f30c3caebfe9fda52cb8238d530f12a
      69489139
  2. 27 Oct, 2020 1 commit
    • Vihang Mehta's avatar
      Propagate PodConditions to our metadata tracker and use them · 786fb838
      Vihang Mehta authored
      Summary:
      The PodConditions include all condition types and states for each condition,
      so this goes from holding on to just a repeated set of conditions, to
      conditions and their statuses, and propagating the same down to the metadata state.
      
      Also add a UDF to get pod ready state. This UDF just returns a bool that checks for
      the PodCondition Ready and returns false if the state is either unknown or false.
      We can consider beefing up this UDF to instead return all possible condition states
      (true/false/unknown) and letting the user query either of the known states.
      
      Test Plan: Added unit tests wherever applicable. Would love help integration testing it on my dev machine.
      
      Reviewers: nserrino, michelle, zasgar, #engineering
      
      Reviewed By: nserrino, #engineering
      
      JIRA Issues: PP-2079
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6628
      
      GitOrigin-RevId: 1c615bf521b668a19278224df78c16ea6db6f19a
      786fb838
  3. 28 Oct, 2020 5 commits
    • Michelle Nguyen's avatar
      Graph simulation should stop physics after stabilization period · fe3e1dd7
      Michelle Nguyen authored
      Summary:
      we wanted to update our graphs so that:
      1. the simulations stop after things have stabilized, so that nodes/edges aren't still moving around/spinning.
      2. dragging nodes around should not be affected by physics
      this turned out to be a pretty simple change
      
      Test Plan: ran in webpack, ran some large graphs and dragged the nodes around
      
      Reviewers: zasgar, nserrino, nick, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6634
      
      GitOrigin-RevId: 86eba07ea33a7c7a9f49b90525da36c9f0e1573a
      fe3e1dd7
    • Yaxiong Zhao's avatar
      Update trace script · a09174ea
      Yaxiong Zhao authored
      Summary:
      Use pxtrace.PodProcess() for specifying target
      Use Struct tracing for arguments and return value
      Use Interface tracing for returned error interface
      Added pxtrace.FunctionLatency() to showcase the full list of trace value
      
      Test Plan: Manually test on webui
      
      Reviewers: oazizi, htroisi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6629
      
      GitOrigin-RevId: cec8e87f18726e30274c68d86a5785e76ac475d1
      a09174ea
    • Omid Azizi's avatar
      DNS Parser test: Multiple responses · 92645984
      Omid Azizi authored
      Summary: Testing a more stressful case, to make sure it parses correctly.
      
      Test Plan: This is a test.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6633
      
      GitOrigin-RevId: 098c5944200961419f75bb63960b0d07cf5f1309
      92645984
    • Omid Azizi's avatar
      DNS Tracer: requests · ac868d5c
      Omid Azizi authored
      Summary: Add DNS request body to the record
      
      Test Plan: Updated tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6632
      
      GitOrigin-RevId: dc5323144be3b5c57d52c7c099360fc540db2b7a
      ac868d5c
    • Yaxiong Zhao's avatar
      Set semantic type for 'latency' column · 52cd1587
      Yaxiong Zhao authored
      Test Plan: Manual test, works as expected, i.e., column value is colored.
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6631
      
      GitOrigin-RevId: 5a81b33ccc3c9d74daa097c4fe31df3a06049646
      52cd1587
  4. 27 Oct, 2020 2 commits
    • Michelle Nguyen's avatar
      Fix hanging health checks: cancel query after healthCheckInterval · eae965a5
      Michelle Nguyen authored
      Summary:
      We noticed that health checks were starting to get stuck in customer.
      Upon closer investigation, this would always occur after the querybroker logged: `rpc error: code = Unauthenticated desc = invalid auth token: Token used before issued`
      To try to repo in my own environment, I updated exec stats to initiate the TransferResultChunk stream with a jwt with an IAT in the future. this was able to reproduce the issue.
      after adding in tons of logs, it looks like our healthcheck is getting stuck in qb's `StreamResults`, which keeps waiting forever until the query is done or has been cancelled. however, it never receives anything and waits forever because once carnot fails to send the ExecStats, it doesn't try again.
      we already have a healthCheckInterval which should unblock the healthcheck after it waits too long. we just need to make sure this also cancels the query, in case it has gotten stuck.
      
      as for why customer hit the "Token used before issued" problem, I'm guessing there is possibly some small clock skew between the kelvin and qb on their cluster.
      
      Test Plan:
      had carnot try to send exec stats with a token with a IAT in the future. verified that this causes the healthchecks to hang while waiting for StreamResults to finish.
      Added in my change, and verify that health checks no longer hang.
      
      Reviewers: zasgar, nserrino, #engineering, vihang
      
      Reviewed By: vihang
      
      Subscribers: vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6627
      
      GitOrigin-RevId: 9fc9ae9664491590c568a9adeb5422d827c7fe0c
      eae965a5
    • Omid Azizi's avatar
      UDP Tracing: Another test · 522d4bf2
      Omid Azizi authored
      Summary:
      Tests Non-blocking recv calls don't interfere.
      
      Provides coverage for the BPF changes in D6625.
      
      Test Plan: This is all tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6626
      
      GitOrigin-RevId: b91d2c8aa1e6c1abd805fbdca99f963f1b4d86ac
      522d4bf2
  5. 28 Oct, 2020 1 commit
    • Vihang Mehta's avatar
      Update linter message · d6ca97c7
      Vihang Mehta authored
      Summary:
      The linter checks to make sure the generated go_proto is `newer` than
      the source `.proto`, but the message always reads the failure condition even
      if the check passes. This fixes this minor issue.
      
      Test Plan: N/A
      
      Reviewers: zasgar, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6630
      
      GitOrigin-RevId: b7c6525a365a9655972193af57416861b15ff664
      d6ca97c7
  6. 27 Oct, 2020 7 commits
  7. 26 Oct, 2020 10 commits
    • Vihang Mehta's avatar
      Pod stop time UDFs · d3f4ccac
      Vihang Mehta authored
      Summary: This adds UDFs to get pod stop times.
      
      Test Plan: Added.
      
      Reviewers: nserrino, michelle, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      JIRA Issues: PP-2000
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6617
      
      GitOrigin-RevId: 708adb21e18ca2e3a05e4b29d9120b39fcd9caec
      d3f4ccac
    • Vihang Mehta's avatar
      Skip CLI version check if running a dev version · 64cde741
      Vihang Mehta authored
      Summary: TSIA
      
      Test Plan: `blaze run :px -- version` no longer says there's an update available.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6611
      
      GitOrigin-RevId: e0955bc1ea69aa422070cbe9febe2e1dcd68fb45
      64cde741
    • Omid Azizi's avatar
      DNS Tracing: BPF test · c4c40908
      Omid Azizi authored
      Summary:
      Enable DNS tracing with a simple test.
      
      Still more work to do, but at least can grab basic requests.
      
      Test Plan: New BPF test.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6615
      
      GitOrigin-RevId: 4fff6e18322b9112cd914c77b562780a14e82422
      c4c40908
    • Omid Azizi's avatar
      BPF: DNS protocol inference · 5a170016
      Omid Azizi authored
      Summary: Detect DNS protocol within BPF
      
      Test Plan: Added tests
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6614
      
      GitOrigin-RevId: 2eaf2b5bbc554ba82c49b1b9fc69ba144f315a31
      5a170016
    • Vihang Mehta's avatar
      Sort deployment keys before returning them · 3e45dc72
      Vihang Mehta authored
      Summary:
      I'm doing this at the graphql handler layer,
      but perhaps we can do it even earlier. I couldn't track where
      these keys were being read from once I hit the VizierDeploymentKeyServer
      and gRPC server wrapper.
      
      Also keys seem to be sorted in ascending order, (order they were added probably)
      but instead of just reversing the slice, I figured explicitly sorting was better.
      
      Let me know if there's a desire and easy way to push down the sort layer into
      whatever lists these keys. (Or pull it into the rendering layer).
      
      Test Plan:
      Modified test to add keys out of order and ensured that they are
      returned in sorted order (newest first)
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: nserrino, #engineering
      
      JIRA Issues: PC-577
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6612
      
      GitOrigin-RevId: c248bb9c388d9b75426ba87cf423f181d12e5403
      3e45dc72
    • Yaxiong Zhao's avatar
      Filter UPIDs based on PodProcess, which has pod, container, and process names · fd1f32c1
      Yaxiong Zhao authored
      Summary: process name is a regex searched in the process' cmdline
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6559
      
      GitOrigin-RevId: 40ebb0e1153bb92e53184377fbc3a41b7eb023f3
      fd1f32c1
    • Nick Lanam's avatar
      Center text for all auth boxes · 599bb824
      Nick Lanam authored
      Summary: ^
      
      Test Plan: Try authenticating from the CLI. The completion and error modes should both center their text now.
      
      Reviewers: nserrino, michelle, zasgar, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6613
      
      GitOrigin-RevId: 4064955b3e704b663b46ac9ae75e910acf077aec
      599bb824
    • Yaxiong Zhao's avatar
      Use BPF_PERCPU_ARRAY to store output variable · ddbf8277
      Yaxiong Zhao authored
      Summary:
      This is necessary to reduce BCC code stack size, which is subject to 512 bytes limit.
      
      This technique is a standard idiom in BCC.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6563
      
      GitOrigin-RevId: fdaa6e0cb1aed83471bebe032d2bc46f8cacfae7
      ddbf8277
    • Omid Azizi's avatar
      Infer role from SocketInfo · e1317aad
      Omid Azizi authored
      Summary: Use the SocketInfo detected role to set client-server role. For when accept/connect was not traced.
      
      Test Plan: Test case added.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6610
      
      GitOrigin-RevId: b7b3a709c5968f5653f94c0e46db9d17ed9417aa
      e1317aad
    • Omid Azizi's avatar
      Only report connections with known roles to ConnStats · 29ae5741
      Omid Azizi authored
      Summary:
      To ensure stability of AggKey in ConnStats, do not submit anything with KRoleNone.
      
      This is more acceptable now that we have role detection via connect()/accept().
      
      Test Plan: A test case added to conn_stats_bpf_test
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6604
      
      GitOrigin-RevId: eab73763410cea72475538869e101ac858277cc4
      29ae5741
  8. 24 Oct, 2020 1 commit
    • Phillip Kuznetsov's avatar
      Fix preset queries test and some preset queries · 165d8b6e
      Phillip Kuznetsov authored
      Summary: preset queries test broke with the script repo changes. Here's a fix. Doesn't work with DT yet, have to make a step to compile mutation, although that's difficult.
      
      Test Plan: It's a test
      
      Reviewers: zasgar, nserrino, jamesbartlett, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6588
      
      GitOrigin-RevId: 1b7119fdb7b1ef3de75bbca286ae67727e5036a7
      165d8b6e
  9. 26 Oct, 2020 1 commit
    • Omid Azizi's avatar
      SocketTracer: New rules on when to push events to user-space · 21083cf1
      Omid Azizi authored
      Summary:
      Rules follow this table:
      
      ```
      // SockAddr   | Protocol   ||  Connect/Accept   |   Data      | Close
      // -----------|------------||-------------------|-------------|-------
      // INET/UNIX  | Unknown    ||  Yes              |   Summary   | Yes
      // INET/UNIX  | Known      ||  N/A              |   Full      | Yes
      // Other      | Unknown    ||  No               |   No        | No
      // Other      | Known      ||  N/A              |   No        | No
      // Unknown    | Unknown    ||  No*              |   Summary   | Yes
      // Unknown    | Known      ||  N/A              |   Full      | Yes
      ```
      
      Also some clean-up along the way (moved a few functions to keep things organized)
      
      Test Plan: Existing tests for now. Just want to make sure we don't break any of the stuff we are supposed to trace.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6600
      
      GitOrigin-RevId: 7ceea0059ab17922108e26ecdbda9c6bf113cb82
      21083cf1
  10. 24 Oct, 2020 1 commit
    • Omid Azizi's avatar
      ConnStats simplifications · 8b005bcb
      Omid Azizi authored
      Summary:
      1) Send ConnOpen immediately when the conn_open event is received, or immediately after an unknown connection is inferred.
      2) Only send events when remote addr is resolved. No point in sending the other information since it won't go into the correct AggKey.
      
      This, plus the earlier change of removing protocol out of the AggKey, triggered a bunch of simplifications.
      
      Test Plan:
      Modified existing test.
      
      Note we no longer need to trigger TransferData() multiple times to trace. Also we have both server and client-side tracing.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6578
      
      GitOrigin-RevId: 171e48b20ec0b16d9fd3da1fd73e37d448bd21ba
      8b005bcb
  11. 23 Oct, 2020 1 commit
    • Omid Azizi's avatar
      SocketTracer: Infer role from accept/connect. · 346e1573
      Omid Azizi authored
      Summary:
      Previously role was inferred from message type (request/response) and direction (egress/ingress).
      
      This adds an additional way to infer the connection direction.
      
      Test Plan: Manual
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6566
      
      GitOrigin-RevId: c74c58d54b06deeb066f464f895070098f2e199b
      346e1573
  12. 25 Oct, 2020 3 commits
    • Omid Azizi's avatar
      SocketInfo: Infer client-server role · 679bc55e
      Omid Azizi authored
      Summary:
      Detect whether an established connection is a client or server, by considering whether there is a matching IP:port in the listening state.
      
      To be used for ConnStats role inference, when a connection connect()/accept() was not traced.
      
      Test Plan: Test case added.
      
      Reviewers: yzhao, zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6607
      
      GitOrigin-RevId: af4ddc90d89cab0ee1eb16f74647564406fd9232
      679bc55e
    • Omid Azizi's avatar
      HashCombine deduplication · 31d73cd7
      Omid Azizi authored
      Summary: Causing an issue in a separate diff. Fix here.
      
      Test Plan: Existing tests.
      
      Reviewers: zasgar, jamesbartlett, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6608
      
      GitOrigin-RevId: 845844b9b4f8106379dcc4ba9ae7a5dd607940b1
      31d73cd7
    • Vihang Mehta's avatar
      Fix panix in dev_dns_updater · 9ed734de
      Vihang Mehta authored
      Summary:
      `serviceWatcher` will be nil if an error was returned.
      So don't defer a `Stop` until we check `err`
      
      Test Plan: `dev_dns_updater` does not panic even when gcloud get config fails
      
      Reviewers: zasgar, #engineering, oazizi
      
      Reviewed By: #engineering, oazizi
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6606
      
      GitOrigin-RevId: b5fb08973a592d03a89a673c29f65fe755ae593a
      9ed734de
  13. 24 Oct, 2020 2 commits
    • Vihang Mehta's avatar
      Use a smaller CIDR range for POD addresses · 030b6997
      Vihang Mehta authored
      Summary:
      The default pod range is `/14` and I believe that is what was preventing me
      from being able to create a gke cluster. Set it to a much smaller `/21` which should
      be sufficient for dev purposes.
      Also explicitly specify the services range, set to the default value of `/20`
      
      Test Plan: `./scrips/create_gke_cluster.sh` now works.
      
      Reviewers: philkuz, michelle, zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6603
      
      GitOrigin-RevId: 7eadb93430422a446ef6db475e75d4843efd314f
      030b6997
    • Omid Azizi's avatar
      Stirling: Debug flag for tracing a particular PID · ceb6e29f
      Omid Azizi authored
      Summary: Useful for debugging.
      
      Test Plan: Manual
      
      Reviewers: yzhao, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6599
      
      GitOrigin-RevId: d1747d9b6c41a49f05389e767021fb4512fbbd91
      ceb6e29f