Skip to content
Snippets Groups Projects
  1. Mar 06, 2025
    • Raymond Cheung's avatar
      Ensure Logs Are Captured for Assertions and Printed During Tests (#7769) · ce5f89c6
      Raymond Cheung authored
      This PR enhances **`test_log_capture`**, ensuring logs are **captured
      for assertions** and **printed to the console** during test execution.
      
      ## **Motivation**  
      
      - Partially addresses #6119 and #6125, to improves developer **tracing
      and debugging** in XCM-related tests.
      - Builds on #7594, improving **log visibility** while maintaining test
      **log capture capabilities**.
      - While writing tests for #7234, I noticed this function was missing.
      This PR adds it to streamline log handling in unit tests.
      
      ## **Changes**  
      
      - Ensures logs up to `TRACE` level are **captured** (for assertions) and
      **printed** (for visibility).
      - Refines documentation to clearly specify **when to use** each
      function.
      - **Removes ANSI escape codes** from captured logs to ensure clean,
      readable assertions.
      
      ## **When to Use?**  
      
      | Usage | Captures Logs? | Prints Logs? | Example |
      
      |----------------------------------------------|-----------------|--------------|-----------------------------------------------|
      | `init_log_capture(LevelFilter::INFO, false)` |  Yes |  No | Capture
      logs for assertions without printing. |
      | `init_log_capture(LevelFilter::TRACE, true)` |  Yes |  Yes | Capture
      logs and print them in test output. |
      | `sp_tracing::init_for_tests()` |  No | 
      
       Yes | Print logs to the
      console without capturing. |
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
      ce5f89c6
  2. Feb 24, 2025
    • Raymond Cheung's avatar
      Enhance XCM Debugging with Log Capture in Unit Tests (#7594) · d189f9e7
      Raymond Cheung authored
      
      # Description
      
      This PR introduces a lightweight log-capturing mechanism for XCM unit
      tests, simplifying debugging by enabling structured log assertions. It
      partially addresses #6119 and #6125, offering an optional way to verify
      logs in tests while remaining unobtrusive in normal execution.
      
      # Key Changes
      
      * [x] Introduces a log capture utility in `sp_tracing`.
      * [x] Adds XCM test examples demonstrating how and when to use log
      capturing.
      
      # Review Notes:
      
      * The log capture mechanism is opt-in and does not affect existing tests
      unless explicitly used.
      * The implementation is minimal and does not add complexity to existing
      test setups.
      * It provides a structured alternative to
      [`sp_tracing::init_for_tests()`](https://paritytech.github.io/polkadot-sdk/master/sp_tracing/fn.init_for_tests.html)
      for log verification in automated tests.
      
      ---------
      
      Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
      d189f9e7
  3. Aug 01, 2024
  4. Mar 26, 2024
    • Dcompoze's avatar
      Fix spelling mistakes across the whole repository (#3808) · 002d9260
      Dcompoze authored
      **Update:** Pushed additional changes based on the review comments.
      
      **This pull request fixes various spelling mistakes in this
      repository.**
      
      Most of the changes are contained in the first **3** commits:
      
      - `Fix spelling mistakes in comments and docs`
      
      - `Fix spelling mistakes in test names`
      
      - `Fix spelling mistakes in error messages, panic messages, logs and
      tracing`
      
      Other source code spelling mistakes are separated into individual
      commits for easier reviewing:
      
      - `Fix the spelling of 'authority'`
      
      - `Fix the spelling of 'REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY'`
      
      - `Fix the spelling of 'prev_enqueud_messages'`
      
      - `Fix the spelling of 'endpoint'`
      
      - `Fix the spelling of 'children'`
      
      - `Fix the spelling of 'PenpalSiblingSovereignAccount'`
      
      - `Fix the spelling of 'PenpalSudoAccount'`
      
      - `Fix the spelling of 'insufficient'`
      
      - `Fix the spelling of 'PalletXcmExtrinsicsBenchmark'`
      
      - `Fix the spelling of 'subtracted'`
      
      - `Fix the spelling of 'CandidatePendingAvailability'`
      
      - `Fix the spelling of 'exclusive'`
      
      - `Fix the spelling of 'until'`
      
      - `Fix the spelling of 'discriminator'`
      
      - `Fix the spelling of 'nonexistent'`
      
      - `Fix the spelling of 'subsystem'`
      
      - `Fix the spelling of 'indices'`
      
      - `Fix the spelling of 'committed'`
      
      - `Fix the spelling of 'topology'`
      
      - `Fix the spelling of 'response'`
      
      - `Fix the spelling of 'beneficiary'`
      
      - `Fix the spelling of 'formatted'`
      
      - `Fix the spelling of 'UNKNOWN_PROOF_REQUEST'`
      
      - `Fix the spelling of 'succeeded'`
      
      - `Fix the spelling of 'reopened'`
      
      - `Fix the spelling of 'proposer'`
      
      - `Fix the spelling of 'InstantiationNonce'`
      
      - `Fix the spelling of 'depositor'`
      
      - `Fix the spelling of 'expiration'`
      
      - `Fix the spelling of 'phantom'`
      
      - `Fix the spelling of 'AggregatedKeyValue'`
      
      - `Fix the spelling of 'randomness'`
      
      - `Fix the spelling of 'defendant'`
      
      - `Fix the spelling of 'AquaticMammal'`
      
      - `Fix the spelling of 'transactions'`
      
      - `Fix the spelling of 'PassingTracingSubscriber'`
      
      - `Fix the spelling of 'TxSignaturePayload'`
      
      - `Fix the spelling of 'versioning'`
      
      - `Fix the spelling of 'descendant'`
      
      - `Fix the spelling of 'overridden'`
      
      - `Fix the spelling of 'network'`
      
      Let me know if this structure is adequate.
      
      **Note:** The usage of the words `Merkle`, `Merkelize`, `Merklization`,
      `Merkelization`, `Merkleization`, is somewhat inconsistent but I left it
      as it is.
      
      ~~**Note:** In some places the term `Receival` is used to refer to
      message reception, IMO `Reception` is the correct word here, but I left
      it as it is.~~
      
      ~~**Note:** In some places the term `Overlayed` is used instead of the
      more acceptable version `Overlaid` but I also left it as it is.~~
      
      ~~**Note:** In some places the term `Applyable` is used instead of the
      correct version `Applicable` but I also left it as it is.~~
      
      **Note:** Some usage of British vs American english e.g. `judgement` vs
      `judgment`, `initialise` vs `initialize`, `optimise` vs `optimize` etc.
      are both present in different places, but I suppose that's
      understandable given the number of contributors.
      
      ~~**Note:** There is a spelling mistake in `.github/CODEOWNERS` but it
      triggers errors in CI when I make changes to it, so I left it as it
      is.~~
      002d9260
  5. Mar 18, 2024
  6. Feb 21, 2023
    • Vivek Pandya's avatar
      Remove years from copyright notes. (#13415) · bc53b9a0
      Vivek Pandya authored
      * Change copyright year to 2023 from 2022
      
      * Fix incorrect update of copyright year
      
      * Remove years from copy right header
      
      * Fix remaining files
      
      * Fix typo in a header and remove update-copyright.sh
      bc53b9a0
  7. Feb 21, 2022
  8. Jan 03, 2022
  9. Jul 21, 2021
  10. May 05, 2021
    • mattrutherford's avatar
      RPC to trace execution of specified block (#7780) · 6e8957b0
      mattrutherford authored
      
      * Add filter reload handle
      
      * add RPC, move logging module from cli to tracing
      
      * remove dup fn
      
      * working example
      
      * Update client/rpc-api/src/system/mod.rs
      
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      
      * Prefer "set" to "reload"
      
      * Re-enable the commented out features of the logger
      
      * Remove duplicate code
      
      * cleanup
      
      * unneeded lvar
      
      * Bump to latest patch release
      
      * Add new CLI option to disable log filter reloading,
      
      Move profiling CLI options to SharedParams
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Applied suggestions from reviews
      
      * Fix calls to init_logger()
      
      * Handle errors when parsing logging directives
      
      * Deny `system_setLogFilter` RPC by default
      
      * One more time
      
      * Don't ignore parse errors for log directives set via CLI or RPC
      
      * Improve docs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * fix merge errors
      
      * include default directives with system_setLogFilter RPC,
      
      implement system_rawSetLogFilter RPC to exclude defaults
      
      * docs etc...
      
      * update test
      
      * refactor: rename fn
      
      * Add a test for system_set_log_filter – NOTE: the code should likely change to return an error when bad directives are passed
      
      * Update client/cli/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Address review grumbles
      
      * Add doc note on panicking behaviour
      
      * print all invalid directives before panic
      
      * change RPCs to: addLogFilter and resetLogFilter
      
      * make CLI log directives default
      
      * add comments
      
      * restore previous behaviour to panic when hard-coded directives are invalid
      
      * change/refactor directive parsing
      
      * fix line width
      
      * add test for log filter reloading
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * finish up suggestions from code review
      
      * improve test
      
      * change expect message
      
      * change fn name
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * add docs, remove unused fn
      
      * propagate Err on invalid log directive
      
      * Update tracing-subscriber version
      
      * Improve docs for `disable_log_reloading` CLI param
      
      * WIP implementation: RPC and trace capturing
      
      * WIP
      
      * fix incorrect number of digest items
      
      * return errors
      
      * add From impl for Values, rename structs
      
      * fixes
      
      * implement option to choose targets for traces
      
      * rename fn
      
      * fix EnvFilter and add root span
      
      * fix root span
      
      * add docs, remove unnecessary traits
      
      * fix regression on parent_id introduced in a9c73113
      
      
      
      * fix line width
      
      * remove unused
      
      * include block hash, parent hash & targets in response
      
      * move types from sp-tracing into sp-rpc
      
      move block and parent hash into root of BlockTrace
      
      * switch from log::trace to tracing::trace in state-machine
      
      * use unsigned integer type to represent Ext::id in traces
      
      * ensure id is unique by implementing Subscriber
      
      tracing_subscriber::FmtSubscriber does not guarantee
      unique ids
      
      * indentation
      
      * fix typo
      
      * update types
      
      * add sp_io::storage events
      
      * Change response format
      
      - update types
      - record distinct timestamps
      - sort spans by first entered
      
      * convert to HexDisplay, refactor
      
      * Sort out fallout from merge
      
      * Update client/rpc-api/src/state/mod.rs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Exit early unless the node runs with --rpc-methods=Unsafe
      
      * Better error handling
      
      * Use wasm-timer
      
      * revert trace alteration in `state-machine` and remove events in `sp_io::storage`
      
      Resolve in follow-up PR
      
      * Review feedback: less collects
      
      * Without Arcs
      
      * Fix span exit
      
      * typo
      
      * cleanup
      
      * Add a few debug messages to tracing module
      
      * Structure traces state-machine/ext; Dispatchable extrinsics spans not working
      
      * Correctly encode Option storage values
      
      * Remove test field for Put and Get
      
      * Try out some changes to dispatch macro
      
      * Add various log messages in dispatch
      
      * Add span dispatch span to new proc macro
      
      * Remove debug messages in dispatch
      
      * Trivial clean up
      
      * Structure remaining state-machine traces (ChangesRoot*)
      
      * Removed unnesecary tracing targets
      
      * Remove log
      
      * New cargo.lock post merge
      
      * Add logging for wasm_overrides
      
      * remove temp logs
      
      * remove temp logs
      
      * remove unused dep
      
      * remove temp logs
      
      * add logging to wasm_overrides
      
      * add logging to state_tracing
      
      * add logging for spans to substrate (includes timings)
      
      * Skip serializing some event fields; Remove most storage traces
      
      * Bring back all ext.rs traces
      
      * Do not skip bool values in events
      
      * Skip serializing span values
      
      * Serialize span values; remove some trace events in ext
      
      * Remove more trace events
      
      * Delete commented out traces
      
      * Remove all unused traces
      
      * Add event filtering
      
      * Fix typo
      
      * wip - change response types to be more efficient
      
      missing import
      
      type
      
      * Serialize struct fields as camelCase
      
      * Add back in event filtering
      
      * Remove name field from event
      
      * Sort spans by time entered
      
      * Sort spans in ASCending order
      
      * Add storage keys target param to rpc
      
      * Limit payload size; improve hash fields; include storage keys
      
      - cleanup event_key_filter
      - better block hash representation
      - limit payload size
      - cleanup based on andrews comments
      
      * Error when serialized payload is to big
      
      * Import MAX_PAYLOAD from rpc-servers
      
      * Clean up ext.rs
      
      * Misc. cleaning and comments
      
      * Strict ordering span Id; no span sort; adjust for rpc base payload
      
      * Add RPC docs to rpc-api/src/state/mod
      
      * Make params bullet points
      
      * Update primitives/rpc/src/tracing.rs
      
      * Put all tracing logic within trace
      
      * Remove attr.record in new_span
      
      * Add back value record in new_span
      
      * restore result collection in ext
      
      * Revert "Add back value record in new_span"
      
      This reverts commit baf1a735f23e5eef1bf6264adfabb788910fa661.
      
      * 🤦
      
      * more 🤦
      
      
      
      * Update docs; Try fix line width issues
      
      * Improve docs
      
      * Improve docs
      
      * Remove default key filters + add key recs to docs
      
      * Try restore old traces
      
      * Add back doc comment
      
      * Clean up newlines in ext.rs
      
      * More new line remova;
      l
      
      * Use FxHashMap
      
      * Try use EnvFilter directives for event filtering
      
      * Remove directive, filter events by fields
      
      * Use trace metadata correctly
      
      * Try EnvFilter directive with all default targets
      
      * Revert "Try EnvFilter directive with all default targets"
      
      This reverts commit 4cc6ebc721d207c3b846444174f89d45038525ac.
      
      * Clean up clippy warning
      
      * Incorporate Niklas feedback
      
      * Update trace/log macro calls to have better syntx
      
      * Use Ordering::Relaxed
      
      * Improve patch and filter doc comment
      
      * Clean up `BlockSubscriber::new`
      
      * Try optimize `BlockSubscriber::enabled`
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      * Use contains_key
      
      * use heuristic for payload size
      
      * Add error tupe for client::tracing::block
      
      * Minor tweaks
      
      * Make a note about `--features with-tracing`
      
      * Add CURL example to RPC docs
      
      * Link to substrate-archibe wasm
      
      * Trivial doc clean up based on David feedback
      
      * Explicit result type name
      
      * Respect line length
      
      * Use the error
      
      * Don't print timings when spans close
      
      * Fix failing sc-rpc-api
      
      * Update  sp-tracing inner-line doc
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/service/src/client/call_executor.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/service/src/client/call_executor.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Update client/tracing/src/block/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Address some review grumbles
      
      * Update primitives/state-machine/src/ext.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * Use result_encoded structure fields in ext.rs
      
      * Use value key for ext put
      
      * Add notes about tracing key names matter
      
      Co-authored-by: default avatarMatt <mattrutherford@users.noreply.github.com>
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      Co-authored-by: default avataremostov <32168567+emostov@users.noreply.github.com>
      6e8957b0
  11. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  12. Nov 03, 2020
  13. Oct 20, 2020
    • Bastian Köcher's avatar
      Fix logging from inside the WASM runtime (#7355) · 203acda6
      Bastian Köcher authored
      * Fix logging from inside the WASM runtime
      
      When using `RuntimeLogger` to log something from the runtime, we didn't
      set any logging level. So, we actually did not log anything from the
      runtime as logging is disabled by default. This pr fixes that by setting
      the logging level to `TRACE`. It also adds a test to ensure this does
      not break again ;)
      
      * Update frame/support/src/debug.rs
      203acda6
  14. Sep 18, 2020
    • Benjamin Kampmann's avatar
      Tracing for wasm with bridging to native (#6916) · a9c73113
      Benjamin Kampmann authored
      
      * implement events handling, implement parent_id for spans & events
      
      * add events to sp_io::storage
      
      * update test
      
      * add tests
      
      * adjust limit
      
      * let tracing crate handle parent_ids
      
      * re-enable current-id tracking
      
      * add test for threads with CurrentSpan
      
      * fix log level
      
      * remove redundant check for non wasm traces
      
      * remove duplicate definition in test
      
      * Adding conditional events API
      
      * prefer explicit parent_id over current,
      
      enhance test
      
      * limit changes to client::tracing event implementation
      
      * remove From impl due to fallback required on parent_id
      
      * make tracing codecable
      
      * replace with global tracing
      
      * new tracing interface
      
      * impl TracingSubscriber in client
      
      * implement access to global TracingSubscriber from primitives
      
      * span for wasm
      
      * increment towards Wasm Tracing Subscriber implementation
      
      * increment, remove sp-tracing from runtime-interface
      
      * increment, it compiles
      
      * attained original functionality with new mechanism
      
      * implement remaining TracingSubscriber functions
      
      * remove spans from decl_module
      
      * add handling for encoded values
      
      * Revert "replace with global tracing"
      
      This reverts commit 8824a60deea54d9b437407a21c8ceaf6a1902ee5.
      
      * Wasm Side Tracing
      
      * tracing on wasm
      
      * enable tracing wasm on node-runtime
      
      * export all the macros in std
      
      * tracing subscriber on wasm-side only
      
      * pass spans and events over and record them
      
      * reactivate previous code and  cleanup
      
      * further cleaning up
      
      * extend the span macros, activate through executive
      
      * tracking the actual extrinsic, too
      
      * style
      
      * fixing tests
      
      * spaces -> tabs
      
      * attempting to reactivate params
      
      * activate our tests in CI
      
      * some passing
      
      * tests passing
      
      * with core lazy
      
      * global tracer for wasm side with pass over
      
      * fixing metadata referencing
      
      * remove const_fn feature requirement
      
      * reenable dispatch traces
      
      * reset client tracing
      
      * further cleaning up
      
      * fixing runtime-test
      
      * move tracing-build setup into runtime-test
      
      * Merge DebugWriter from tracing and frame-support, move to sp-std
      
      * remove dangling fixme
      
      * Docs for tracing primitives
      
      * cleaning up a bit more
      
      * Wasm interface docs
      
      * optimise docs.rs setup
      
      * adding tracing flags to uncomment
      
      * remove brace
      
      * fixing imports
      
      * fixing broken syntax
      
      * add required modules
      
      * nicer formatting
      
      * better target management
      
      * adding low level storage tracing events into frame
      
      * add custom Debug impl for WasmMetadata
      
      * cloning profiler
      
      * adding info about cloning profiler
      
      * using in-scope for within calls
      
      * proper time tracing, cleaning up println
      
      * allow to disable tracing on runtime_interface-macro
      
      * disable tracing for wasm-tracing-interface
      
      * simplify wasm-tracing-api
      
      * update client to new interface
      
      * fixing docs and tests for sp-tracing
      
      * update integration tests
      
      * re-activating enter_span
      
      * dropping FIXME, it's documented
      
      * fix formatting
      
      * fix formatting
      
      * fix imports
      
      * more debug info
      
      * inform wasm about it being disabled by returning 1
      
      * only one tracer, but enabled multi-all support
      
      * make trait pub again for tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarNiklas Adolfsson <niklasadolfsson1@gmail.com>
      
      * fixing wasm doc tests for proper usage
      
      * remove unnecessary import
      
      * fixing formatting
      
      * minor style fixes
      
      * downgrading wabt
      
      * update error message for UI
      
      * Fix interface test
      
      * next attempt to fix macros
      
      * geee
      
      * revert tracing on hashed for future PR
      
      * remove local macros, use originals
      
      * we are able to convert to static items
      
      * implement more WasmValue types
      
      * adding support to convert str, debug and encoded values
      
      * more minor fixes
      
      * revert unsafe 'static making
      
      * fix indentation
      
      * remove commented lines
      
      * bump all them tracing versions
      
      * cleaning up docs and info
      
      * document new flag
      
      * the new layered system handles span cloning better
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      
      Co-authored-by: default avatarMatt Rutherford <mattrutherford@users.noreply.github.com>
      Co-authored-by: default avatarNiklas Adolfsson <niklasadolfsson1@gmail.com>
      Co-authored-by: default avatarDavid <dvdplm@gmail.com>
      a9c73113
  15. Sep 17, 2020
    • Wei Tang's avatar
      Use tracing-based subscriber logging (#6825) · 9fdd4672
      Wei Tang authored
      
      * init_logger: switch from log-based to tracing-based and add compatibility layer
      
      * Move tracing profiling subscriber related config realization
      
      * sp-tracing: change profiling to be a layer instead of a subscriber
      
      * Enable profiling layer in cli
      
      * Change all test env_logger init to sp_tracing::try_init_simple
      
      * Remove all local env_logger dependency
      
      * Add missing tracing-subscriber dependency
      
      * frame-sudo: fix tests
      
      * frame-support: fix tests
      
      * Fix frame/pallet and executor tests
      
      * Fix the remaining tests
      
      * Use subscriber's try_init as recommended by @davidbarsky
      
      * Be explict that the tracing-log feature is needed
      
      * Set subscriber writer to stderr
      
      * Shorter line width
      
      * Update cargo lock tracing version
      
      * Fix sc_tracing crate compile
      
      * Fix sc_authority_discovery crate test
      
      * unremove default-features
      
      * Leave enabled to default true
      
      * Warn if global default cannot be set
      
      * Fix unused import
      
      * Remove unused PROXY_TARGET
      
      * Change all reference from rc5 to rc6
      
      * Change all reference of rc2 to rc6
      
      * Fix styling
      
      * Fix typo
      
      * make logger init error'ing
      
      * re-fixing the test issue
      
      Co-authored-by: default avatarBenjamin Kampmann <ben@parity.io>
      9fdd4672
  16. Jun 18, 2020
    • mattrutherford's avatar
      Runtime interface to add support for tracing from wasm (#6381) · 74a989f3
      mattrutherford authored
      
      * Add span recording to tracing implementation
      
      * Add tracing proxy
      
      * switch to rustc_hash::FxHashMap
      
      * Replace lazy_static and hashmap with thread_local and vec.
      
      * fix marking valid span as invalid while removing invalid spans
      
      * refactor, add wasm_tracing module in `support`
      
      * update registered spans
      
      * tidy up
      
      * typos
      
      * refactor
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update docs
      
      * update docs
      
      * Use tracing Field recording to store the actual `name` and `target`
      from wasm traces.
      
      * fix debug log in subscriber + small refactor
      
      * add tests
      
      * handle misuse in case trying to exit span not held
      
      * Implement filter for wasm traces, simplify field recording for primitive types
      
      * remove superfluous warning
      
      * update docs
      
      * Update primitives/tracing/src/proxy.rs
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * update docs, apply suggestions
      
      * move Proxy from thread_local to `Extension`, rename macro
      
      * fix test
      
      * unify native & wasm span macro calls
      
      * implement wasm tracing control facility in primitives and frame
      
      * add cli flag `--wasm-tracing`
      
      * fix
      
      * switch to `Option<u4>` (possible performance degradation), switch
      to static mut bool
      
      * performance improvement using u64 vs Option<u64>
      
      * performance improvement moving concat to client
      
      * update docs
      
      * Update client/cli/src/params/import_params.rs
      
      Co-authored-by: default avatarCecile Tonglet <cecile@parity.io>
      
      * performance improvement
      
      * Revert "performance improvement"
      
      This reverts commit 55ff8817a86302cd93bb6197eb4ca5bc7f4fb524.
      
      * small refactor
      
      * formatting
      
      * bump impl_version
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * update docs
      
      * small fixes, remove pub static
      
      * nit
      
      * add integration tests and refactor Subscriber
      
      * tests
      
      * revert formatting
      
      * try fix test that works locally but not in CI
      
      * try fix test that works locally but not in CI
      
      * debug test that works locally but not in CI
      
      * fix test that works locally but not in CI
      
      * remove pub visibility from bool in runtime
      
      * make TracingSpanGuard #[cfg(not(feature = "std"))], update docs, comments
      
      * make TracingProxy drop implementation conditional on !empty state
      
      * add docs for TraceHandler
      
      * remove blank line
      
      * update expect message
      
      * update tests
      
      * rename cli option to tracing_enable_wasm
      
      * rename cli option to tracing_enable_wasm
      
      * fix
      
      * ensure wasm-tracing features are wasm only
      
      * bump impl_version
      
      * bump impl_version
      
      * add `"pallet-scheduler/std"` to `[features]` `std` in node/runtime
      
      * refactor service to remove sp_tracing dependency
      
      * refactor: line width, trait bounds
      
      * improve LogTraceHandler output
      
      * fix test
      
      * improve tracing log output
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * swap wasm indication from trace name to a separate value
      
      * Update client/tracing/src/lib.rs
      
      * add docs
      
      * remove runtime features
      
      remove wasm_tracing option from CLI
      
      remove wasm_tracing flag from ProfilingSubscriber
      
      Co-authored-by: default avatarMatt Rutherford <mattrutherford@users.noreply.github.com>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      Co-authored-by: default avatarCecile Tonglet <cecile@parity.io>
      74a989f3
  17. May 15, 2020
  18. Apr 20, 2020