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. 13 Nov, 2020 5 commits
  2. 12 Nov, 2020 1 commit
  3. 13 Nov, 2020 1 commit
  4. 12 Nov, 2020 1 commit
  5. 13 Nov, 2020 2 commits
    • Vihang Mehta's avatar
      Recreate pixie-conponents and move drawers into it · 94f2531c
      Vihang Mehta authored
      Summary:
      This sets up a pixie-components subpackage and moves the drawer compoenents
      into it.
      
      TODO: Fix styling. It looks like the styles for the drawer components gets overriden
      when used by the pixie app. Should we be exporting unstyled components and let the pixie app
      call the styling hooks?
      
      TODO: Setup linting for components. The top level eslint + tsconfig doesn't play nicely
      with a component with it's own eslint + tsconfig. This linter setup needs some help.
      
      Stories are still in top level pixie to make it easier to debug whether the packaging
      is working, to be moved into subcomponents eventually.
      
      Test Plan: Check `yarn storybook` and `yarn dev`
      
      Reviewers: zasgar, michelle, nick, philkuz, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PP-1680
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6710
      
      GitOrigin-RevId: cc65338599b74809a5d23ccb1cb12145bea63418
      94f2531c
    • Vihang Mehta's avatar
      Separate go and cc files · a1e0eca1
      Vihang Mehta authored
      Summary:
      `go vet` assumes that colocated `.go` and `.cc` files must be built together
      with `cgo`. In scenarios where we don't need/want to do so, let's move the `.go` source
      into subfolders.
      
      Note: This makes the build rule for the go libs looks a bit weird ... they end in `/go:go_default_library`
      but IMO this is still cleaner than moving the `.cc` and `.h` files.
      
      Test Plan: `bazel build //...` should succeed.
      
      Reviewers: zasgar, michelle, philkuz, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6739
      
      GitOrigin-RevId: c6c80acaa32d203aed6b59d88a20d2c8f50d33b6
      a1e0eca1
  6. 12 Nov, 2020 1 commit
    • Yaxiong Zhao's avatar
      Add Diff() and DiffLines() to diff line-based text · c7f9f5a9
      Yaxiong Zhao authored
      Summary:
      Also updated EqualsProto() to use DiffLines() to report the diffs.
      A sample looks like this:
      
      ```
        deployment_spec {
          path: "src/stirling/obj_tools/testdata/dummy_go_binary_/dummy_go_binary"
        }
        structs {
      l:  name: "out_table_value_t"
      r:  name: "out_table_value2_t"
      ```
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6711
      
      GitOrigin-RevId: 0d6fb3b7faaa5e29e9d79cc79677de39df6855f5
      c7f9f5a9
  7. 13 Nov, 2020 1 commit
  8. 12 Nov, 2020 2 commits
    • Omid Azizi's avatar
      Change px.sum of booleans to return int · cddbbaea
      Omid Azizi authored
      Summary:
      This diff changes the behavior of px.sum on booleans to return a sum rather than a logical OR.
      
      We need a consistent definition of what the sum of two booleans means. So I'm leaving this as a preview until we can make that call.
      
      If we decide boolean + boolean = boolean, then this diff is not correct. Note that different languages (or even libraries within languages) have differing approaches.
      
      The right long-term solution is to do this via data type casts. So this could be a temporary workaround until that is supported.
      
      Test Plan: Modified the tests
      
      Reviewers: philkuz, nserrino, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6728
      
      GitOrigin-RevId: 1b0c3a321276b1fb6871991d16d0421edbbec9f9
      cddbbaea
    • Yaxiong Zhao's avatar
      Set probe_type for http2 uprobe data events · c59192a9
      Yaxiong Zhao authored
      Summary: Was using this to debug the duplicate req/resp body bug.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6721
      
      GitOrigin-RevId: 16d5261aed012605997b450cefbd218ee02643bd
      c59192a9
  9. 13 Nov, 2020 5 commits
    • Michelle Nguyen's avatar
      PP-2254 Add intercom in live view · 341f6fa1
      Michelle Nguyen authored
      Summary:
      we should have a help icon in the sidebar which opens up the messenger.
      when the user runs into an error, we should have a link that opens up the intercom messenger.
      
      Test Plan:
      gifs:
      {F103061}
      
      {F103062}
      
      {F103063}
      
      Reviewers: zasgar, nick, nserrino, #engineering, vihang
      
      Reviewed By: #engineering, vihang
      
      Subscribers: vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6729
      
      GitOrigin-RevId: b7d733961824d061e34720b7ae1c39072fc4ec12
      341f6fa1
    • Michelle Nguyen's avatar
      PC-652 Segment Analytics: Add sitename to signUp Event · f925e252
      Michelle Nguyen authored
      Summary: we used to have this information in the signup event, but it has since disappeared because of some refactoring. it's helpful to have, for joining different tables in bigquery.
      
      Test Plan: unit test
      
      Reviewers: zasgar, nserrino, #engineering, vihang
      
      Reviewed By: #engineering, vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6731
      
      GitOrigin-RevId: 7567c601fc4655362bcbf3f3f7f797766a482155
      f925e252
    • Michelle Nguyen's avatar
      PC-663 Add email to segment identify calls · d36a4f5d
      Michelle Nguyen authored
      Summary: when adding users to the ui_prod table in segment, we also want to capture the emails so that we dont have to do extra joins to get that info in bigquery.
      
      Test Plan: n/a
      
      Reviewers: zasgar, nserrino, nick, vihang, #engineering
      
      Reviewed By: vihang, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6732
      
      GitOrigin-RevId: 31d52c0822b193928bef72e3eaa07355f154d98d
      d36a4f5d
    • Phillip Kuznetsov's avatar
      Revert "Support ST_TIME_NS semantic type w/ INT64 as an alternative to TIME64NS in the UI." · 9326e32f
      Phillip Kuznetsov authored
      Summary: This reverts commit 01f74ebb2f608c65ddc0f6954d17c67c679a5190. Part of our decision to keep the time type around and instead make it more comp0atible with arrow.
      
      Test Plan: teseted locally and things still work in normal mode.
      
      Reviewers: nick, nserrino, vihang, zasgar, #engineering
      
      Reviewed By: vihang, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6733
      
      GitOrigin-RevId: 872e49dfc79c8c3d6775d3bdc83ef284fddf07b9
      9326e32f
    • Nick Lanam's avatar
      Revert unnecessary change that broke execution stats in the drawer · 301873ab
      Nick Lanam authored
      Summary: What I thought was a harmless Scout Rule change was, in fact, harmful.
      
      Test Plan: Run `px/cluster` with a long start_time, like an hour. Cancel it before it returns. Then try to run `tcp_retransmits` with fresh tracepoints. The visual loading indicator should stick around for the correct duration. This time, also check that execution stats are retained.
      
      Reviewers: michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6734
      
      GitOrigin-RevId: 0bb50d4e49cd8bee1b7dc5fb47a9c9edcc07c3d1
      301873ab
  10. 12 Nov, 2020 3 commits
    • Nick Lanam's avatar
      Don't allow cancelling a query that is already cancelled · 8367b95b
      Nick Lanam authored
      Summary: As every query run and retry cancels the previous one, the user cancelling one script then trying to run another that has mutations was triggering a second cancel on the first query. Due to awkward timing, that was setting loaded state to false a second time right after the second query started, so the tracepoints dialog thought it needed to hide. The fix is for the cancellation function to run once and replace itself with a noop.
      
      Test Plan: Run `px/cluster` with a long start_time, like an hour. Cancel it before it returns. Then try to run `tcp_retransmits` with fresh tracepoints. The visual loading indicator should stick around for the correct duration.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6727
      
      GitOrigin-RevId: e0e83aef3549c02676d6c462c5f5948c5ba23560
      8367b95b
    • Phillip Kuznetsov's avatar
      [PP-2283] Differentiate undefined error w/ wrong type error · 9a072cb4
      Phillip Kuznetsov authored
      Summary: Before this change, a wrong type error would just yield "No arg value provided" instead should say that the type is wrong.
      
      Test Plan: Tested on erroneous type and got the message out.
      
      Reviewers: nick, vihang, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PP-2283
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6717
      
      GitOrigin-RevId: 30016d26da8ba05ad90a4889224a6062fa41743e
      9a072cb4
    • Phillip Kuznetsov's avatar
      Propagate request building errors in the observable model of the Vizier GRPC client · b3c54fdd
      Phillip Kuznetsov authored
      Summary: Request building can create errors that were not properly handled. I moved the request builder in the observable function callback, but need some feedback on why we choose to send stuff around. A reviewer should help with that.
      
      Test Plan: Tested with an erroneous vis spec where we had an integer instead of a string in the defaultValue and the error showed up, whereas the error would be emitted otherwise.
      
      Reviewers: nick, vihang, michelle, #engineering
      
      Reviewed By: nick, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6716
      
      GitOrigin-RevId: bf79ab25eb0a164482f95f63b42a8af56fd544e4
      b3c54fdd
  11. 11 Nov, 2020 1 commit
    • Nick Lanam's avatar
      Behave like `{head,tail} -f` if user scrolls to the edges of a data table. · cba1f77c
      Nick Lanam authored
      Summary:
      When new data enters a data table, if that table was scrolled to the top or bottom of its range, it sticks to wherever that edge moved. This is useful when a streaming query outputs an ever-flowing data set like HTTP requests and the user wants to watch that output live.
      
      When scrolling to the top or bottom of a data table, stick to that edge if new data comes in.
      
      This is especially useful for streaming queries, where the user may wish to monitor a live stream of recent events. Think `tail -f`. A future change will also put a finite scroll buffer on this for performance.
      This is a first iteration. Depending on how this experience feels to users, we may try adding UI elements to enable/disable this mode directly or offer other methods.
      
      Test Plan:
      Try this streaming query. Sort it such that new data comes in either at the top or at the bottom, scroll to that edge, and release. The table should pin the scrollbar to that edge until you move it away.
      ```
      import px
      df = px.DataFrame(table='http_events', start_time='-2s')
      df.pod = df.ctx['pod']
      df = df.drop(['time_', 'upid', 'trace_role', 'http_minor_version', 'http_content_type', 'http_resp_message'])
      px.display(df.stream())
      ```
      
      Reviewers: nserrino, michelle, #engineering, vihang
      
      Reviewed By: #engineering, vihang
      
      Subscribers: philkuz, vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6713
      
      GitOrigin-RevId: 2cc67d26cf1df7aa467937a63d3a6a7aa0e010d1
      cba1f77c
  12. 12 Nov, 2020 5 commits
    • Omid Azizi's avatar
      Stirling publication: report dynamic vs static InfoClass · 54d12fd8
      Omid Azizi authored
      Summary: Report whether a table is dynamic or static. Upstream this can be used in px/schemas one day to help filter out static vs dynamic tables.
      
      Test Plan: Test case modified to add coverage
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Subscribers: htroisi
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6718
      
      GitOrigin-RevId: 25b4be0af6381dfb119518aa529bf21b98d7b983
      54d12fd8
    • Omid Azizi's avatar
      DNS: Expand flags into fields · 69587b7c
      Omid Azizi authored
      Summary: Expand out the flags into its sub-fields, to make visual inspection and querying easier.
      
      Test Plan: Tests modified.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Subscribers: htroisi
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6720
      
      GitOrigin-RevId: 14deb5e63f81a0cec329d838d2bc83153c2c451e
      69587b7c
    • Omid Azizi's avatar
      OpenSSL Tracer: Stand-alone version for blog · dbe3ab9f
      Omid Azizi authored
      Summary:
      A version that has no external dependencies (no absl, no glogging). Also builds through makefile instead of Bazel. All to make it easy to run.
      
      This is to be used for the blog.
      
      Test Plan: Manually tested.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6696
      
      GitOrigin-RevId: 57189db1e11bdb210b2efa818bc16ccfdfab23e7
      dbe3ab9f
    • Yaxiong Zhao's avatar
      Generate PerfBufferOutputAction in code_gen.cc · 791b5c84
      Yaxiong Zhao authored
      Summary: Depends on D6700, should land D6700 first.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6702
      
      GitOrigin-RevId: e3a3a0d60fae25f133ccbca252e035bbb3ae51e9
      791b5c84
    • Vihang Mehta's avatar
      Cleanup some node_module issues · a65deb8e
      Vihang Mehta authored
      Summary:
      Add `react-is` to satisfy peer dependency for @storybook/addon-essentials
      Upgrade `eslint-plugin-enzyme` to be compatible with our version of `eslint`
      
      Test Plan: Jenkins + yarn build
      
      Reviewers: zasgar, michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6719
      
      GitOrigin-RevId: ee50ed5da7353044064a7c2ed2ecee5a25143bc5
      a65deb8e
  13. 09 Nov, 2020 1 commit
  14. 11 Nov, 2020 3 commits
    • Michelle Nguyen's avatar
      PC-502 Add cookie banner · 9c9eb9b7
      Michelle Nguyen authored
      Summary:
      we want to use react-cookie-banner to match what we will eventually use for our marketing site.
      most of the code here is just styling, which we dont have a set mockup for, so feel free to nitpick the CSS
      
      Test Plan:
      screenshots:
      {F101557}
      
      {F101558}
      updated zindex:
      {F101792}
      
      Reviewers: nick, zasgar, nserrino, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6704
      
      GitOrigin-RevId: f46804369136e3ae923a470aa56d700ea6bf81ac
      9c9eb9b7
    • Michelle Nguyen's avatar
      Disable stackdriver logging when creating new gke cluster · e3dfbeca
      Michelle Nguyen authored
      Summary:
      a huge portion of our bills are spent on stackdriver logging for our dev clusters, which most people don't actually look at.
      updated the create_gke_cluster script to disable stackdriver logging by default.
      
      Test Plan: created a new cluster, checked that the stackdriver logging was disabled
      
      Reviewers: zasgar, nserrino, philkuz, #engineering, oazizi
      
      Reviewed By: #engineering, oazizi
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6715
      
      GitOrigin-RevId: 9ab941a928927b03382a9b32efa61c877346d4ce
      e3dfbeca
    • Omid Azizi's avatar
      Golang return value index: start at 0 · 2956c4ad
      Omid Azizi authored
      Summary: To improve usability
      
      Test Plan: Updated existing tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      JIRA Issues: PP-2114
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6707
      
      GitOrigin-RevId: 99b4ee4f7156e34626f06720b2db514b7155bd9c
      2956c4ad
  15. 10 Nov, 2020 1 commit
    • Phillip Kuznetsov's avatar
      Add operator pruning for ASID filters · 9aec6c47
      Phillip Kuznetsov authored
      Summary:
      the Heap UDTFs raised the issue that we don't support ASID filters at the moment. This makes it so that we can filter if you use px.asid(). Not completely sure if I want to allow sweeping filter on asid. I'm worried about a situation like data w/ an asid column is stored on a Kelvin but was originally collected on a PEM. Filtering on an asid column in this case would mean we would prune hte Kelvin part which is wrong. I tried to make this as explicit as possible by only allowing
      `px.asid() == 123` as the valid asid filter.
      
      After a suggestion from Natalie, I've generalized the approach to create a Matcher factory that matches specific sub expressions. Users can add a matcher function to the metadata factory, the factory extracts the MatchExpr() static function. Whenever a match is made, factory creates the matcher operation and then Gets the Agents that should be pruned for the expression.
      
      As before, we continue to support logical operators `and`/`or` on top of these fine-grained expressions.
      
      Test Plan: Wrote a test for explicit case which this supports and against the implict case which this does not support.
      
      Reviewers: nserrino, #engineering, vihang
      
      Reviewed By: #engineering, vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6647
      
      GitOrigin-RevId: 8396edce0ff5f41c091503bb546ae1e0dc59bc99
      9aec6c47
  16. 11 Nov, 2020 3 commits
    • Nick Lanam's avatar
      Fix sequence of state setters between cancelling one query and starting another · c365d376
      Nick Lanam authored
      Summary: Removing one piece of spaghetti reveals another...
      
      Test Plan:
      Try this streaming query. It should get results and still be cancellable.
      ```
      import px
      df = px.DataFrame(table='http_events', start_time='-2s')
      df.pod = df.ctx['pod']
      df = df.drop(['time_', 'upid', 'trace_role', 'http_minor_version', 'http_content_type', 'http_resp_message'])
      px.display(df.stream())
      ```
      
      Reviewers: nserrino, michelle, #engineering, philkuz, vihang
      
      Reviewed By: #engineering, vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6709
      
      GitOrigin-RevId: c6df9dfa5289d1a5ef159f1150e95d06856ecf9b
      c365d376
    • Phillip Kuznetsov's avatar
      Fix cancel state function setter. · 26f4bd82
      Phillip Kuznetsov authored
      Summary:
      state setters allow you to use functions to set the state so you can use the current state to make the next state. When your state variable is a function, you must nest the function in another function
      
      This is a missing fix I guess. Before this, couldnt' get any results on any scripts.
      
      Test Plan: tested on prod and works.
      
      Reviewers: nick, vihang, michelle, #engineering
      
      Reviewed By: nick, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6708
      
      GitOrigin-RevId: 8852fce748943e09b697003e8f724d80da11b4be
      26f4bd82
    • Phillip Kuznetsov's avatar
      Support ST_TIME_NS semantic type w/ INT64 as an alternative to TIME64NS in the UI. · e215e3ef
      Phillip Kuznetsov authored
      Summary: Part of a series of diffs that will be used to switch over to ST_TIME_NS isntead of using TIME64NS. The plan here was to support both the native data type and the semantic type simultaneously. In the future, we will deprecate the native data type.
      
      Test Plan: Tested w/ a backend where time64ns is already switched over to INT64 + ST_TIME_NS and this wokred like a charm.
      
      Reviewers: nick, vihang, michelle, nserrino, jamesbartlett, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6706
      
      GitOrigin-RevId: 01f74ebb2f608c65ddc0f6954d17c67c679a5190
      e215e3ef
  17. 10 Nov, 2020 1 commit
    • Omid Azizi's avatar
      [Cleanup] Move UProbeTmpl · 7a14e531
      Omid Azizi authored
      Summary: UProbeTmpl is a concept only used by SocketTraceConnector, not by BCCWrapper at all, so it belongs with SocketTraceConnector.
      
      Test Plan: Existing tests
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6698
      
      GitOrigin-RevId: 1149e9bd872677f65009f4493b7b82ea98de8e3d
      7a14e531
  18. 08 Nov, 2020 1 commit
    • Omid Azizi's avatar
      MagicEnum updates · 242011e0
      Omid Azizi authored
      Summary:
      1) Update MagicEnum and use its new built-in bazel rules.
      2) Set defines to increase the max enum value that is supported.
      3) Update the customization for SemanticType,
      
      Test Plan: Jenkins
      
      Reviewers: philkuz, jamesbartlett, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6682
      
      GitOrigin-RevId: f1c36b281de3237eac34b170f84dfb3a513f09e8
      242011e0
  19. 11 Nov, 2020 1 commit
    • Phillip Kuznetsov's avatar
      Add ST_TIME_NS as the first step with replacing TIM64NS w/ semantic type · 071fb414
      Phillip Kuznetsov authored
      Summary:
      Time fits semantic type dynamics better than primitive type. This change adds the semantic type to begin the switch.
      
      The switch will work as follows:
      1. Support ST_TIME_NS + INT64 in UI and CLI w/o deprecating TIME64NS
      2. Replace all TIME64NS with ST_TIME_NS +INT64 in Vizier
      3. Deprecate TIME64NS everywhere.
      
      Test Plan: n/a doesn't change functionality
      
      Reviewers: zasgar, oazizi, nserrino, michelle, #engineering, vihang
      
      Reviewed By: #engineering, vihang
      
      Subscribers: vihang
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6653
      
      GitOrigin-RevId: df77f8403d3b8d88fdd24d86de7e6c54f96dc905
      071fb414
  20. 07 Nov, 2020 1 commit
    • Nick Lanam's avatar
      Use an event stream style of Observable for script execution. · 39bf69f7
      Nick Lanam authored
      Summary: Doing this allows greater control over handling methods, reduced redundant re-renders, and an easier way to extend the possibilities going forward for things like window streaming. This comes at the cost of a more verbose listening model.
      
      Test Plan: Actual behavior should be unaffected. Try a script that streams forever (so you can try canceling it), and try one that completes quickly. They should be identical to their production behavior.
      
      Reviewers: nserrino, michelle, #engineering
      
      Reviewed By: nserrino, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D6676
      
      GitOrigin-RevId: e830cf87e5f3cdc9ff4b7aa6eea14abbc4e49ea0
      39bf69f7