1. 23 Nov, 2020 1 commit
  2. 18 Nov, 2020 2 commits
  3. 10 Nov, 2020 2 commits
  4. 09 Nov, 2020 1 commit
    • Nathaniel Cook's avatar
      fix(types): format types in error message according to grammar (#3309) · a4745826
      Nathaniel Cook authored
      Previously the type error messages would format into the old style
      grammar for type expressions. Now they format into a type expression
      that is valid according to the Flux grammar.
      
      This is essentially duplicate code as what is in the formatter, but the
      formatter operates on AST nodes and here we have the actual MonoType
      structs. It seems reasonable to implement for both types.
      
      Fixes #3308
      a4745826
  5. 06 Nov, 2020 3 commits
  6. 05 Nov, 2020 1 commit
  7. 04 Nov, 2020 2 commits
  8. 03 Nov, 2020 1 commit
  9. 02 Nov, 2020 1 commit
  10. 29 Oct, 2020 7 commits
  11. 28 Oct, 2020 2 commits
  12. 27 Oct, 2020 1 commit
    • Jonathan A. Sternberg's avatar
      feat: add series cardinality function to influxdb package (#3263) · be028e30
      Jonathan A. Sternberg authored
      This adds a `cardinality()` function to the influxdb package to
      determine the cardinality of a bucket with a filter for a specific
      range. This is a source and can be chained to flux transformations.
      
      To implement this, a dependency interface was created to act as an
      influxdb provider. This dependency will cover reading and eventually
      writing to influxdb. The interface allows us to define flux
      transformations that interact with influxdb both in a remote way, such
      as through http calls, and embedded within influxdb itself.
      
      The interface is divided into a provider and a reader. The provider
      contains a complete list of the different types of readers which is one
      for each one. This provider is documented to be able to change and it is
      advised to use the `UnimplementedProvider` as a base to ensure that all
      of the methods continue to be implemented.
      
      The readers are divided into one specific method for each method of
      reading. If a provider returns a reader interface, it is expected that
      the functionality is supported.
      
      This allows us to have different implementations and also to allow an
      implementation to make decisions around which type of reader it wants to
      use. For example, a direct storage access implementation might fallback
      to the http provider when a host is used.
      
      The interface for directly reading through a normal read has been
      stubbed out but hasn't been implemented. But, this will allow us to
      consolidate the reading code to a single location instead of relying on
      the planner and allow more of the flux code to live in the flux
      repository instead of influxdb.
      be028e30
  13. 26 Oct, 2020 2 commits
  14. 23 Oct, 2020 5 commits
  15. 22 Oct, 2020 4 commits
    • Sean Brickley's avatar
      feat(profiler): Aggregate results for operator profiler · a8915a4c
      Sean Brickley authored
      - aggregated operator profiler results and grouped them by operation type and label
      - added GetSortedResult to Profiler interface to allow for easier testing
      - sync profiler on channels rather than mutexes
      - allow explicit times to be passed into span start and finish to make testing easier
      - remove unnecessary Sleep calls
      a8915a4c
    • Adrian Thurston's avatar
    • Tom's avatar
      feat(stdlib/contrib): Add stdlib/contrib package events (#3266) · c6a08090
      Tom authored
      * feat(stdlib/contrib): Add stdlib/contrib package events
      
      * feat(stdlib/contrib): Add stdlib/contrib package events (#1)
      
      * fix(stdlib/contrib): copy editing
      
      * feat(stdlib/contrib): additional test coverage
      c6a08090
    • Adrian Thurston's avatar
      feat: make profiler available to tableFind and friends (#3264) · 06204ce4
      Adrian Thurston authored
      * feat: make profiler available to tableFind and friends
      
      The interpreter now installs profilers into the execution dependencies. Doing
      this directly from the interpreter is not possible due to the import cycle.
      
       flux -> interpreter -> execute -> compiler -> interpreter -> execute
      
      This is the same cycle that trigger the lifting of execution dependencies into
      their own module. This time more of the execution state must get added in and
      the simple lift fix doesn't work.
      
      Instead adding an interface to the interpreter module that is specifically for
      setting execution options. The lang package can then implement this interface
      and install the options.
      
      So this patch also includes the movement of execution dependencies back to the
      execute module and using this new interface to also set the now option in the
      execution dependencies.
      
      Tested by setting profilers and now in a flux script and verifying the values
      in the execution dependencies afterwards.
      
      This patch does not work with repl, as some additional changes are required
      there to make profiling work at all.
      
      * fix: improve interface/struct naming on profile-table-options branch
      
      The execution options configuration interface is now called ExecOptsConfig. The
      struct containing the options remains called ExecutionOptions.
      
      * chore: store the operator profiler in the execution options
      
      This moves the operator profiler from direct storage in the context to the
      execution options, which are pointed to by the execution dependencies. They can
      be updated by the interpreter and the results immediately seen by sub-execution
      steps. This removes the need to copy the profiler into the context in the
      tableFind/chain functions.
      
      Closes #3204
      06204ce4
  16. 20 Oct, 2020 4 commits
  17. 15 Oct, 2020 1 commit