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. 11 Aug, 2020 4 commits
    • Yaxiong Zhao's avatar
      Move utility functions to its own header and source · f35ad5ee
      Yaxiong Zhao authored
      Summary:
      A function is considered utility if it's entirely operate on DWARF concept, and does not consider
      any language-specific, or things relevant to our intention.
      
      Test Plan: Jenkins
      
      Reviewers: oazizi, #engineering
      
      Reviewed By: oazizi, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5935
      
      GitOrigin-RevId: 66a33a2cf7fd908275c3044ef5ec50fe7b40b374
      f35ad5ee
    • Michelle Nguyen's avatar
      Autocomplete: Add suggestions to empty tabstop · 1e26d365
      Michelle Nguyen authored
      Summary:
      when the user selects an entity, we automatically create a new, empty tabstop that we move their cursor to.
      however, this tabstop is not populated with any suggestions, so the interaction seems a bit weird until the user starts typing again.
      
      updated the backend so that if we do create new, empty tabstop, we also make a call to elastic to get a set of suggestions.
      
      Test Plan: unit test, ran in cloud dev and checked that it did the right thing
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5941
      
      GitOrigin-RevId: 5233d830c8a98362e3ef4da478220bd945a15a5b
      1e26d365
    • Michelle Nguyen's avatar
      Autocomplete: empty input should match all scripts · 9bca49a0
      Michelle Nguyen authored
      Summary:
      until we have the script indexer up and ready, we've been matching scripts using the sahilm fuzzy search golang module.
      this fuzzy search doesn't match any words when given an empty input string. in our case, we want it to match all scripts. these scripts will be filtered down further depending on the type of the input arguments already specified.
      i updated the suggester code so that this is the case.
      again, all of this script matching is just temporary until we have the script indexer... which probably won't be for a while
      
      Test Plan: tried in cloud dev
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5945
      
      GitOrigin-RevId: 7a7f8fecf4f5bbe0a8cb78ea8bd40c0da6cb2364
      9bca49a0
    • Michelle Nguyen's avatar
      Autocomplete UI: Show colored border for valid/invalid commands · 7b02bd03
      Michelle Nguyen authored
      Summary:
      We should show some indication for whether the user has created a valid/invalid command.
      to follow what we do in the CLI, I added a green/red border.
      another option is to color the "px" icon in the command box, for something more subtle.
      
      Test Plan:
      screenshots:
      {F91513}
      
      {F91514}
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5942
      
      GitOrigin-RevId: 1e71e2a0ba82d49a09439374bd8ef7769a437325
      7b02bd03
  2. 10 Aug, 2020 1 commit
    • Natalie Serrino's avatar
      PP-2117: Add go mock for ResultSinkService · 90251548
      Natalie Serrino authored
      Summary: Will be used for testing changes to the query broker, specifically the implementation of the API TransferResultChunk.
      
      Test Plan: n/a
      
      Reviewers: michelle, zasgar, philkuz, #engineering
      
      Reviewed By: philkuz, #engineering
      
      JIRA Issues: PP-2117
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5940
      
      GitOrigin-RevId: 73a7c91abf5e17314db948014b43f55c4bbf2a72
      90251548
  3. 11 Aug, 2020 1 commit
    • Phillip Kuznetsov's avatar
      Final Compiler and Planner fixes for partial aggregation · dcb24d2b
      Phillip Kuznetsov authored
      Summary:
      proto serializer for blocking agg relies on relations being right, that wasn't the case here. Hack that fixese it for now but need clarification on usage before providing something better.
      
      Also fixed the way we load aggregate expressions so that we load the functions correctly instead of trying to evaluate the children.
      
      Test Plan: passes previously broken test and also fails in execution rather than in compilation for partial aggregates (which is expected, we want to update the aggregation operator).
      
      Reviewers: zasgar, #engineering, nserrino
      
      Reviewed By: #engineering, nserrino
      
      Subscribers: nserrino
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5921
      
      GitOrigin-RevId: 1555dc1375116203070ddc4d23201741b9d1006f
      dcb24d2b
  4. 10 Aug, 2020 3 commits
    • Michelle Nguyen's avatar
      Autocomplete UI: initialize AC with some suggestions · 740b8549
      Michelle Nguyen authored
      Summary:
      when the command input loads up for the first time, we should make an API call to the backend to get a list of initial suggestions for the empty input.
      there is also some cleanup for the debouncing
      
      Test Plan: tried it in webpack
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5939
      
      GitOrigin-RevId: 26572009d34f93030de623cf4dfee41aa1f22076
      740b8549
    • Michelle Nguyen's avatar
      Autocomplete UI: fix bug with rendering spaces · 3c59aeb0
      Michelle Nguyen authored
      Summary: spaces weren't showing up properly in some cases in the autocomplete UI. this is because the span containing the empty space was rendering with a width of 0. instead, if we use a non-breaking space, the span should render with the proper width
      
      Test Plan: ran webpack
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5938
      
      GitOrigin-RevId: 3e2dcdc3de03f5b90deea9223426308f232d4c89
      3c59aeb0
    • Michelle Nguyen's avatar
      Update UDATester to automatically test for de/serialization and merging · 9232ce41
      Michelle Nguyen authored
      Summary:
      we want to update the UDATester to automatically test for a few more things:
      - serialization/deserialization. when Expect() is called, we should test that deserializing a serialized value produces the correct result.
      - Merging, in a random order to test that our operations are commutative + associative.
      
      Test Plan: ran math_ops test
      
      Reviewers: zasgar, philkuz, nserrino, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5932
      
      GitOrigin-RevId: 6f6820236b70980116d0f5d705a5929801ab39f6
      9232ce41
  5. 08 Aug, 2020 3 commits
    • Michelle Nguyen's avatar
      Fix updater image path for public images · 533e9ce1
      Michelle Nguyen authored
      Summary:
      we recently updated the build so that it pushes the images to a public repo for official releases...
      unfortunately, there was a hard-coded path for the updater image hidden in our files.
      this broke 0.4.0, but i put out a temporary fix by uploading the correct image to the pl-dev-infra registry for now.
      
      this diff takes the image path from the cloudconnector image and uses that image path for the updater image.
      
      Test Plan: ran skaffold
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5926
      
      GitOrigin-RevId: 23b3641dec96ec69440f388c14729a9a314c0e6c
      533e9ce1
    • Natalie Serrino's avatar
      PP-2117: Rename KelvinService to ResultSinkService. · 40bbacb5
      Natalie Serrino authored
      Summary:
      Depends on D5927. This protobuf api breaking change should also still be ok because these services are only used internally in Vizier and we don't yet have rolling upgrades.
      KelvinService isn't accurate anymore, it is more accurate to call it ResultSinkService because it is the api for any service that implements the apis necessary to receive a result chunk (aka row batch or exec stats). This group will include both Kelvin and Query broker in the near term.
      
      Test Plan: existing
      
      Reviewers: zasgar, michelle, philkuz, #engineering
      
      Reviewed By: philkuz, #engineering
      
      JIRA Issues: PP-2117
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5928
      
      GitOrigin-RevId: dcfa43436f928daea8c9e0620a9ec9c0f056e3d5
      40bbacb5
    • Natalie Serrino's avatar
      PP-2117: Replace TransferRowBatch API with TransferResultChunk · ca78bd75
      Natalie Serrino authored
      Summary:
      TransferResultChunk is the new API for streaming row batches to their recipients. It supports sending query stats as well as sending result data to non-Carnot sources, such as the query broker. This change will allow GRPCSinks to send directly to the query broker, which will support streaming mode and also remove the need for Kelvins to buffer up the data before sending it to the query broker (even in batch mode, this will be good because it will allow results to show up as they are available).
      
      Changed the field names on some protobufs so that the terminology and naming would be more consistent and less confusing going forward. This should be an ok set of changes because it is all internal to Vizier.
      
      Test Plan: existing tests
      
      Reviewers: zasgar, michelle, philkuz, #engineering
      
      Reviewed By: philkuz, #engineering
      
      JIRA Issues: PP-2117
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5927
      
      GitOrigin-RevId: acf29b492312a0f9780453b58d3e2b661011513d
      ca78bd75
  6. 07 Aug, 2020 1 commit
    • Omid Azizi's avatar
      Return value tracing in C/C++ - Part 1 · 5b59abc5
      Omid Azizi authored
      Summary:
      This diff adds support for tracing base types in C/C++.
      
      Tracing structs and expression is coming in a separate diff.
      
      Test Plan: End-to-end test added in stirling_bpf_test
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5901
      
      GitOrigin-RevId: 0fbfd112638175fb54f21cb95169b3354fda7d6b
      5b59abc5
  7. 10 Aug, 2020 1 commit
    • Omid Azizi's avatar
      ScalarType: support for new types · 2bc1fc61
      Omid Azizi authored
      Summary: Follow-up to added types
      
      Test Plan: None. This is mostly just type definitions. We get coverage through end-to-end tests.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5912
      
      GitOrigin-RevId: 27bcedee1e39230938e9f681eb78a940d950e9db
      2bc1fc61
  8. 07 Aug, 2020 2 commits
    • Omid Azizi's avatar
      ScalarTypes for C++ Tracing · 60fefc0f
      Omid Azizi authored
      Summary: Needed for C++ tracing
      
      Test Plan: Coming in future diff
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      JIRA Issues: PP-2122
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5903
      
      GitOrigin-RevId: d5263475fc616120896a717a39df52cdda3b9fb3
      60fefc0f
    • Omid Azizi's avatar
      C++ Tracing: System V AMD64 ABI Registers · 2566d524
      Omid Azizi authored
      Summary:
      Setting the foundation to trace C++ code.
      
      To trace arguments and return values, we need access to certain registers used in the System V AMD64 ABI. This adds that support.
      
      Test Plan: Added a few cases.
      
      Reviewers: yzhao, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5923
      
      GitOrigin-RevId: adabf2ae4c784cacc1f5c0e35560f7238f8eaf26
      2566d524
  9. 10 Aug, 2020 1 commit
  10. 07 Aug, 2020 2 commits
  11. 06 Aug, 2020 1 commit
  12. 10 Aug, 2020 2 commits
  13. 07 Aug, 2020 1 commit
  14. 06 Aug, 2020 1 commit
  15. 07 Aug, 2020 1 commit
    • Yaxiong Zhao's avatar
      Update dynamic trace IR · 8620606a
      Yaxiong Zhao authored
      Summary:
      This is part of a larger naming and restructuring change we want to get done before release.
      It's possible that some of the names in the source code are now inconsistent. We can change them as part of future refactors.
      
      Test Plan: Jenkins
      
      Reviewers: #engineering, oazizi, philkuz, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5918
      
      GitOrigin-RevId: 5cd1b4860c4bae56cb5ff86f75b3e8c408d16016
      8620606a
  16. 06 Aug, 2020 1 commit
    • Omid Azizi's avatar
      [Cleanup] PairStruct rename · 0fa877ea
      Omid Azizi authored
      Summary: Just renaming because it was annoying me that it was no longer a Pair.
      
      Test Plan: Jenkins
      
      Reviewers: yzhao, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5913
      
      GitOrigin-RevId: eaf10394f4f9dd77d803fa79a6a35bad237c15c1
      0fa877ea
  17. 07 Aug, 2020 1 commit
    • Michelle Nguyen's avatar
      UI: Fix execution in new-command-input · adf2f907
      Michelle Nguyen authored
      Summary: some time ago we updated execution so that setScript must be called before execute. this was updated in the old command-input that we have, but not in the new one which uses autocomplete.
      
      Test Plan: ran cloud dev and verified it works
      
      Reviewers: nserrino, zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5920
      
      GitOrigin-RevId: 1f8f4bfffee2e61133bde0d10c2a32f5e61161e8
      adf2f907
  18. 06 Aug, 2020 4 commits
    • Natalie Serrino's avatar
      PP-2117: Add new API to support streaming queries in Vizier. · 736123bd
      Natalie Serrino authored
      Summary:
      This is just the skeleton of the API to make sure we are all on board with the api before I implement the changes.
      We want to use the same message to stream data from PEMs->Kelvins as from Kelvins->Query brokers. This message should include the ability to send execution stats for the query, since those will be streamed periodically for the streaming queries. This API will subsume the old API, the difference with batch queries will be that they terminate and send end of stream, where as streaming queries will go on until they are cancelled. Next up will be to refactor GRPCSink/Source and GRPC router to use this new API. After that point, a GRPC router will be implemented in go (highly based off of the c++ version we already have) in order to receive streamed query results from Kelvin nodes.
      
      Test Plan: n/a
      
      Reviewers: zasgar, philkuz, #engineering
      
      Reviewed By: zasgar, #engineering
      
      JIRA Issues: PP-2117
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5919
      
      GitOrigin-RevId: 7b06ac56d5397bd56f7d20cacbd03435e0ae1e6c
      736123bd
    • Michelle Nguyen's avatar
      UI: Pass clusterUID to autocomplete calls · 449b7bf5
      Michelle Nguyen authored
      Summary: the autocomplete gql calls now take a clusterUID.
      
      Test Plan: ran webpack, checked that the clusterUID is included in the requests
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5917
      
      GitOrigin-RevId: 4c27cdf6bb3a70d0bc1072c79e889504d585c83f
      449b7bf5
    • Natalie Serrino's avatar
      Convert error on stream->Finish() in GRPC Sink to a log, rather than returning an error. · b7d7f2cd
      Natalie Serrino authored
      Summary: This may be causing instability in a customer cluster, when the client side of the stream is cancelled or broken and then the agent side of the query fails.
      
      Test Plan: n/a
      
      Reviewers: michelle, zasgar, #engineering
      
      Reviewed By: michelle, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5906
      
      GitOrigin-RevId: f02534071e0996adf99067505392f930eb5cf707
      b7d7f2cd
    • Zain Asgar's avatar
      PP-2111 - Add support for Serialize/Deserialize functions for UDAs · 3884db0a
      Zain Asgar authored
      Summary: Allow UDAs to be serialized so that we can do partial aggregations.
      
      Test Plan: Updated tests, @michelle will update UDA tester to automatically tests serializable UDAs to ensure they are actually serializable
      
      Reviewers: michelle, philkuz, nserrino, #engineering
      
      Reviewed By: philkuz, #engineering
      
      Subscribers: michelle
      
      JIRA Issues: PP-2111
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5914
      
      GitOrigin-RevId: 33f3b201b10fd8b73d608e0b54353c8adfde242b
      3884db0a
  19. 30 Jul, 2020 1 commit
  20. 06 Aug, 2020 6 commits
    • Omid Azizi's avatar
      Avoid exceptions from std::stoi · 75faeab1
      Omid Azizi authored
      Summary:
      There is an out_of_range exception in the http parser. This seems like the only place it could be coming from.
      
      Change std::stoi to absl::SimpleAtoi, and log the occurrence.
      
      Test Plan: Existing tests.
      
      Reviewers: yzhao, michelle, #engineering, zasgar
      
      Reviewed By: #engineering, zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5911
      
      GitOrigin-RevId: 83f2ff5feb24adb03b0ad08aaebcb00f36bf35a0
      75faeab1
    • Zain Asgar's avatar
      Rename Program -> TracepointDeployment and BinarySpect -> DeploymentSpec · 782ed8d7
      Zain Asgar authored
      Summary:
      This is part of a larger naming and restructuring change we want to get done before release.
      It's possible that some of the names in the source code are now inconsistent. We can change them as part of future refactors.
      
      Test Plan: N/A
      
      Reviewers: michelle, oazizi, yzhao, philkuz, #engineering
      
      Reviewed By: yzhao, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5908
      
      GitOrigin-RevId: 7c6fe19276bc6bc06f7f29498cd5be730d527df5
      782ed8d7
    • Michelle Nguyen's avatar
      Implementation for vizier watcher · 2c3ff352
      Michelle Nguyen authored
      Summary:
      the vizier watcher listens to the nats channel for any newly connected viziers.
      if a VizierFunction is registered, it will fetch all currently active viziers and execute the function for each of those viziers.
      for any newly connected viziers, it will also execute the provided function.
      
      Test Plan: unit test
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5899
      
      GitOrigin-RevId: d7e58168ee673d48e891c3326dd8550fcc54a325
      2c3ff352
    • Michelle Nguyen's avatar
      Update metadata reader to send updates to indexer in cluster UID-specific channel · 4cedb068
      Michelle Nguyen authored
      Summary:
      the metadata reader was checked in before our K8s UID changes were in.
      before it was sending all of the updates to a generic "MetadataIndexer" channel.
      instead, we should actually send it to a cluster UID-specific channel so that the indexer can pick it up and correctly index our updates by cluster UID.
      
      I was thinking about switching metadata reader to use the new vzWatcher, since it basically does the same thing. however, the metadata reader is located within the vzmgr service itself, whereas the vzwatcher makes a rpc call to the vzmgr service (intended to be used outside of vzmgr).
      
      Test Plan: unit test
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5902
      
      GitOrigin-RevId: 65df5133498a267c18debbe195f5202072b9041b
      4cedb068
    • Michelle Nguyen's avatar
      UI should track current cluster k8s UID · 1c7764d2
      Michelle Nguyen authored
      Summary:
      the autocomplete calls now expect the cluster UID to be filled out in the request, so that it can filter to just results pertaining to the user's current k8s cluster.
      to do so, we need to actively track the current k8s uid in the UI.
      
      Test Plan: ran webpack
      
      Reviewers: zasgar, nserrino, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5910
      
      GitOrigin-RevId: 27ea0442b31789c5c0a8d108aec4007a84f0ca06
      1c7764d2
    • Michelle Nguyen's avatar
      Add VizierID to autocomplete requests · 5897c09c
      Michelle Nguyen authored
      Summary:
      We added multi-cluster support after the initial autocomplete implementation was checked in.
      the current autocomplete only returns results indexed by orgID.
      instead, we want to return results based on the user's selected cluster.
      this vizier UUID will need to be translated to the current K8s cluster UID, which is then passed to elastic to find the correct entities.
      
      Test Plan: fix gql resolver unit test
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D5904
      
      GitOrigin-RevId: 61a9ac82af9ce3b4038b32fff4ddc46b9b2925b4
      5897c09c
  21. 05 Aug, 2020 2 commits