omnitrace-run executable

This exe is very similar to omnitrace-sample except that it works with instrumented binaries
The main goals are:

Provide a command-line interface to all the config options
Ensure LD_PRELOAD for libomnitrace-dl.so

Usage
Binary rewrite
$ omnitrace-instrument -o foo.inst -- foo
$ omnitrace-run -TPHDS -- ./foo.inst

Sampling
The following two command are effectively identical:
$ omnitrace-run -S -- foo
$ omnitrace-sample -- foo

Help Menu
$ omnitrace-run --help
[omnitrace-run] Usage: ./bin/omnitrace-run [ --help (count: 0, dtype: bool)
                                             --version (count: 0, dtype: bool)
                                             --monochrome (max: 1, dtype: bool)
                                             --debug (max: 1, dtype: bool)
                                             --verbose (count: 1, dtype: integral)
                                             --ci (min: 0, dtype: boolean)
                                             --dl-verbose (min: 1, dtype: integral)
                                             --perfetto-annotations (min: 0, dtype: boolean)
                                             --critical-trace-debug (min: 0, dtype: boolean)
                                             --kokkosp-kernel-logger (min: 0, dtype: boolean)
                                             --kokkosp-prefix (min: 0, dtype: string)
                                             --sampling-allocator-size (min: 1, dtype: integral)
                                             --kokkosp-name-length-max (min: 1, dtype: integral)
                                             --critical-trace-serialize-names (min: 0, dtype: boolean)
                                             --config (min: 1, dtype: filepath)
                                             --output (min: 1, dtype: path [prefix])
                                             --trace (max: 1, dtype: bool)
                                             --profile (max: 1, dtype: bool)
                                             --flat-profile (max: 1, dtype: bool)
                                             --sample (min: 0, dtype: timer-type)
                                             --host (max: 1, dtype: bool)
                                             --device (max: 1, dtype: bool)
                                             --wait (count: 1, dtype: seconds)
                                             --duration (count: 1, dtype: seconds)
                                             --periods (min: 1, dtype: period-spec(s))
                                             --include (min: 1, dtype: [backend...])
                                             --exclude (min: 1, dtype: [backend...])
                                             --mode (min: 1, dtype: string)
                                             --use-causal (min: 0, dtype: boolean)
                                             --use-kokkosp (min: 0, dtype: boolean)
                                             --use-mpip (min: 0, dtype: boolean)
                                             --use-roctx (min: 0, dtype: boolean)
                                             --critical-trace (min: 0, dtype: boolean)
                                             --use-code-coverage (min: 0, dtype: boolean)
                                             --use-perfetto (min: 0, dtype: boolean)
                                             --use-process-sampling (min: 0, dtype: boolean)
                                             --use-rcclp (min: 0, dtype: boolean)
                                             --use-rocm-smi (min: 0, dtype: boolean)
                                             --use-rocprofiler (min: 0, dtype: boolean)
                                             --use-roctracer (min: 0, dtype: boolean)
                                             --use-sampling (min: 0, dtype: boolean)
                                             --use-timemory (min: 0, dtype: boolean)
                                             --trace-thread-barriers (min: 0, dtype: boolean)
                                             --trace-thread-join (min: 0, dtype: boolean)
                                             --trace-thread-locks (min: 0, dtype: boolean)
                                             --trace-thread-rw-locks (min: 0, dtype: boolean)
                                             --trace-thread-spin-locks (min: 0, dtype: boolean)
                                             --thread-pool-size (min: 1, dtype: integral)
                                             --num-threads-hint (min: 1, dtype: integral)
                                             --trace-file (count: 1, dtype: filepath)
                                             --trace-buffer-size (count: 1, dtype: KB)
                                             --trace-fill-policy (count: 1, dtype: policy)
                                             --trace-wait (count: 1, dtype: seconds)
                                             --trace-duration (count: 1, dtype: seconds)
                                             --trace-periods (min: 1, dtype: period-spec(s))
                                             --trace-clock-id (count: 1, dtype: clock-id)
                                             --profile-format (min: 1, dtype: string)
                                             --profile-diff (min: 1, dtype: path [prefix])
                                             --process-freq (count: 1, dtype: floating-point)
                                             --process-wait (count: 1, dtype: seconds)
                                             --process-duration (count: 1, dtype: seconds)
                                             --cpus (count: unlimited, dtype: int and/or range)
                                             --gpus (count: unlimited, dtype: int and/or range)
                                             --sampling-freq (count: 1, dtype: floating-point)
                                             --tids (min: 1, dtype: int and/or range)
                                             --sampling-wait (count: 1, dtype: seconds)
                                             --sampling-duration (count: 1, dtype: seconds)
                                             --sample-cputime (min: 0, dtype: [freq] [delay] [tids...])
                                             --sample-realtime (min: 0, dtype: [freq] [delay] [tids...])
                                             --sampling-cputime-delay (min: 1, dtype: floating-point)
                                             --sampling-cputime-freq (min: 1, dtype: floating-point)
                                             --sampling-cputime-tids (min: 0, dtype: string)
                                             --sampling-include-inlines (min: 0, dtype: boolean)
                                             --sampling-keep-internal (min: 0, dtype: boolean)
                                             --sampling-realtime-delay (min: 1, dtype: floating-point)
                                             --sampling-realtime-freq (min: 1, dtype: floating-point)
                                             --sampling-realtime-offset (min: 1, dtype: integral)
                                             --sampling-realtime-tids (min: 0, dtype: string)
                                             --cpu-events (min: 1, dtype: [EVENT ...])
                                             --gpu-events (min: 1, dtype: [EVENT ...])
                                             --enable-categories (min: 1, dtype: string)
                                             --disable-categories (min: 1, dtype: string)
                                             --tmpdir (min: 0, dtype: string)
                                             --use-pid (min: 0, dtype: boolean)
                                             --time-output (min: 0, dtype: boolean)
                                             --causal-file (min: 0, dtype: string)
                                             --causal-file-reset (min: 0, dtype: boolean)
                                             --use-temporary-files (min: 0, dtype: boolean)
                                             --perfetto-backend (min: 1, dtype: string)
                                             --perfetto-roctracer-per-stream (min: 0, dtype: boolean)
                                             --perfetto-shmem-size-hint-kb (min: 1, dtype: integral)
                                             --timemory-components (min: 0, dtype: string)
                                             --roctracer-hip-activity (min: 0, dtype: boolean)
                                             --roctracer-hip-api (min: 0, dtype: boolean)
                                             --roctracer-hsa-activity (min: 0, dtype: boolean)
                                             --roctracer-hsa-api (min: 0, dtype: boolean)
                                             --roctracer-hsa-api-types (min: 0, dtype: string)
                                             --critical-trace-buffer-count (min: 1, dtype: integral)
                                             --critical-trace-count (min: 1, dtype: integral)
                                             --critical-trace-per-row (min: 1, dtype: integral)
                                             --inlines (max: 1, dtype: bool)
                                             --hsa-interrupt (count: 1, dtype: int)
                                             --causal-binary-exclude (min: 0, dtype: string)
                                             --causal-binary-scope (min: 0, dtype: string)
                                             --causal-delay (min: 1, dtype: floating-point)
                                             --causal-duration (min: 1, dtype: floating-point)
                                             --causal-end-to-end (min: 0, dtype: boolean)
                                             --causal-fixed-speedup (min: 0, dtype: string)
                                             --causal-function-exclude (min: 0, dtype: string)
                                             --causal-function-exclude-defaults (min: 0, dtype: boolean)
                                             --causal-function-scope (min: 0, dtype: string)
                                             --causal-mode (min: 0, dtype: string)
                                             --causal-random-seed (min: 1, dtype: integral)
                                             --causal-source-exclude (min: 0, dtype: string)
                                             --causal-source-scope (min: 0, dtype: string)
                                           ]

    Command line interface to omnitrace configuration.

Options:
    -h, -?, --help                 Shows this page (count: 0, dtype: bool)
    --version                      Prints the version and exit (count: 0, dtype: bool)

    [DEBUG OPTIONS]

    --monochrome                   Disable colorized output (max: 1, dtype: bool)
    --debug                        Debug output (max: 1, dtype: bool)
    -v, --verbose                  Verbose output (count: 1, dtype: integral)
    --ci                           Enable some runtime validation checks (typically enabled for continuous integration) (min: 0, dtype: boolean)
    --dl-verbose                   Verbosity within the omnitrace-dl library (min: 1, dtype: integral)
    --perfetto-annotations         Include debug annotations in perfetto trace. When enabled, this feature will encode information such as the values of
                                   the function arguments (when available). Disabling this feature may dramatically reduce the size of the trace (min: 0,
                                   dtype: boolean)
    --critical-trace-debug         Enable debugging for critical trace (min: 0, dtype: boolean)
    --kokkosp-kernel-logger        Enables kernel logging (min: 0, dtype: boolean)
    --kokkosp-prefix               Set to [kokkos] to maintain old naming convention (min: 0, dtype: string)
    --sampling-allocator-size      The number of sampled threads handled by an allocator running in a background thread. Each thread that is sampled
                                   communicates with an allocator running in a background thread which handles storing/caching the data when it's buffer
                                   is full. Setting this value too high (i.e. equal to the number of threads when the thread count is high) may cause loss
                                   of data -- the sampler may fill a new buffer and overwrite old buffer data before the allocator can process it. Setting
                                   this value to 1 will result in a background allocator thread for every thread started by the application. (min: 1,
                                   dtype: integral)
    --kokkosp-name-length-max      Set this to a value > 0 to help avoid unnamed Kokkos Tools callbacks. Generally, unnamed callbacks are the demangled
                                   name of the function, which is very long (min: 1, dtype: integral)
    --critical-trace-serialize-names
                                   Include names in serialization of critical trace (mainly for debugging) (min: 0, dtype: boolean)

    [GENERAL OPTIONS]  These are options which are ubiquitously applied

    -c, --config                   Configuration file (min: 1, dtype: filepath)
    -o, --output                   Output path. Accepts 1-2 parameters corresponding to the output path and the output prefix (min: 1, dtype: path
                                   [prefix])
    -T, --trace                    Generate a detailed trace (perfetto output) (max: 1, dtype: bool)
    -P, --profile                  Generate a call-stack-based profile (conflicts with --flat-profile) (max: 1, dtype: bool)
    -F, --flat-profile             Generate a flat profile (conflicts with --profile) (max: 1, dtype: bool)
    -S, --sample [ cputime | realtime ]
                                   Enable statistical sampling of call-stack (min: 0, dtype: timer-type)
    -H, --host                     Enable sampling host-based metrics for the process. E.g. CPU frequency, memory usage, etc. (max: 1, dtype: bool)
    -D, --device                   Enable sampling device-based metrics for the process. E.g. GPU temperature, memory usage, etc. (max: 1, dtype: bool)
    -w, --wait                     This option is a combination of '--trace-wait' and '--sampling-wait'. See the descriptions for those two options.
                                   (count: 1, dtype: seconds)
    -d, --duration                 This option is a combination of '--trace-duration' and '--sampling-duration'. See the descriptions for those two
                                   options. (count: 1, dtype: seconds)
    --periods                      Similar to specifying delay and/or duration except in the form <DELAY>:<DURATION>, <DELAY>:<DURATION>:<REPEAT>, and/or
                                   <DELAY>:<DURATION>:<REPEAT>:<CLOCK_ID> (min: 1, dtype: period-spec(s))

    [BACKEND OPTIONS]  These options control region information captured w/o sampling or instrumentation

    -I, --include [ all | kokkosp | mpip | mutex-locks | ompt | rcclp | rocm-smi | rocprofiler | roctracer | roctx | rw-locks | spin-locks ]
                                   Include data from these backends (min: 1, dtype: [backend...])
    -E, --exclude [ all | kokkosp | mpip | mutex-locks | ompt | rcclp | rocm-smi | rocprofiler | roctracer | roctx | rw-locks | spin-locks ]
                                   Exclude data from these backends (min: 1, dtype: [backend...])
    --mode [ causal | coverage | sampling | trace ]
                                   Data collection mode. Used to set default values for OMNITRACE_USE_* options. Typically set by omnitrace binary
                                   instrumenter. (min: 1, dtype: string)
    --use-causal                   Enable causal profiling analysis (min: 0, dtype: boolean)
    --use-kokkosp                  Enable support for Kokkos Tools (min: 0, dtype: boolean)
    --use-mpip                     Enable support for MPI functions (min: 0, dtype: boolean)
    --use-roctx                    Enable ROCtx API. Warning! Out-of-order ranges may corrupt perfetto flamegraph (min: 0, dtype: boolean)
    --critical-trace               Enable generation of the critical trace (min: 0, dtype: boolean)
    --use-code-coverage            Enable support for code coverage (min: 0, dtype: boolean)
    --use-perfetto                 Enable perfetto backend (min: 0, dtype: boolean)
    --use-process-sampling         Enable a background thread which samples process-level and system metrics such as the CPU/GPU freq, power, memory
                                   usage, etc. (min: 0, dtype: boolean)
    --use-rcclp                    Enable support for ROCm Communication Collectives Library (RCCL) Performance (min: 0, dtype: boolean)
    --use-rocm-smi                 Enable sampling GPU power, temp, utilization, and memory usage (min: 0, dtype: boolean)
    --use-rocprofiler              Enable ROCm hardware counters (min: 0, dtype: boolean)
    --use-roctracer                Enable ROCm API and kernel tracing (min: 0, dtype: boolean)
    --use-sampling                 Enable statistical sampling of call-stack (min: 0, dtype: boolean)
    --use-timemory                 Enable timemory backend (min: 0, dtype: boolean)
    --trace-thread-barriers        Enable tracing calls to pthread_barrier functions. (min: 0, dtype: boolean)
    --trace-thread-join            Enable tracing calls to pthread_join functions. (min: 0, dtype: boolean)
    --trace-thread-locks           Enable tracing calls to pthread_mutex_lock, pthread_mutex_unlock, pthread_mutex_trylock (min: 0, dtype: boolean)
    --trace-thread-rw-locks        Enable tracing calls to pthread_rwlock_* functions. May cause deadlocks with ROCm-enabled OpenMPI. (min: 0, dtype:
                                   boolean)
    --trace-thread-spin-locks      Enable tracing calls to pthread_spin_* functions. May cause deadlocks with MPI distributions. (min: 0, dtype: boolean)

    [PARALLELISM OPTIONS]

    --thread-pool-size             Max number of threads for processing background tasks (min: 1, dtype: integral)
    --num-threads-hint             This is hint for how many threads are expected to be created in the application. Setting this value allows omnitrace to
                                   preallocate resources during initialization and warn about any potential issues. For example, when call-stack sampling,
                                   each thread has a unique sampler instance which communicates with an allocator instance running in a background thread.
                                   Each allocator only handles N sampling instances (where N is the value of OMNITRACE_SAMPLING_ALLOCATOR_SIZE). When this
                                   hint is set to >= the number of threads that get sampled, omnitrace can start all the background threads during
                                   initialization (min: 1, dtype: integral)

    [TRACING OPTIONS]  Specific options controlling tracing (i.e. deterministic measurements of every event)

    --trace-file                   Specify the trace output filename. Relative filepath will be with respect to output path and output prefix. (count: 1,
                                   dtype: filepath)
    --trace-buffer-size            Size limit for the trace output (in KB) (count: 1, dtype: KB)
    --trace-fill-policy [ discard | ring_buffer ]

                                   Policy for new data when the buffer size limit is reached:
                                       - discard     : new data is ignored
                                       - ring_buffer : new data overwrites oldest data (count: 1, dtype: policy)
    --trace-wait                   Set the wait time (in seconds) before collecting trace and/or profiling data(in seconds). By default, the duration is
                                   in seconds of realtime but that can changed via --trace-clock-id. (count: 1, dtype: seconds)
    --trace-duration               Set the duration of the trace and/or profile data collection (in seconds). By default, the duration is in seconds of
                                   realtime but that can changed via --trace-clock-id. (count: 1, dtype: seconds)
    --trace-periods                More powerful version of specifying trace delay and/or duration. Format is one or more groups of: <DELAY>:<DURATION>,
                                   <DELAY>:<DURATION>:<REPEAT>, and/or <DELAY>:<DURATION>:<REPEAT>:<CLOCK_ID>. (min: 1, dtype: period-spec(s))
    --trace-clock-id [ 0 (realtime|CLOCK_REALTIME)
                       1 (monotonic|CLOCK_MONOTONIC)
                       2 (cputime|CLOCK_PROCESS_CPUTIME_ID)
                       4 (monotonic_raw|CLOCK_MONOTONIC_RAW)
                       5 (realtime_coarse|CLOCK_REALTIME_COARSE)
                       6 (monotonic_coarse|CLOCK_MONOTONIC_COARSE)
                       7 (boottime|CLOCK_BOOTTIME) ]
                                   Set the default clock ID for for trace delay/duration. Note: "cputime" is the *process* CPU time and might need to be
                                   scaled based on the number of threads, i.e. 4 seconds of CPU-time for an application with 4 fully active threads would
                                   equate to ~1 second of realtime. If this proves to be difficult to handle in practice, please file a feature request
                                   for omnitrace to auto-scale based on the number of threads. (count: 1, dtype: clock-id)

    [PROFILE OPTIONS]  Specific options controlling profiling (i.e. deterministic measurements which are aggregated into a summary)

    --profile-format [ console | json | text ]
                                   Data formats for profiling results (min: 1, dtype: string)
    --profile-diff                 Generate a diff output b/t the profile collected and an existing profile from another run Accepts 1-2 parameters
                                   corresponding to the input path and the input prefix (min: 1, dtype: path [prefix])

    [HOST/DEVICE (PROCESS SAMPLING) OPTIONS]
                                   Process sampling is background measurements for resources available to the entire process. These samples are not tied
                                   to specific lines/regions of code

    --process-freq                 Set the default host/device sampling frequency (number of interrupts per second) (count: 1, dtype: floating-point)
    --process-wait                 Set the default wait time (i.e. delay) before taking first host/device sample (in seconds of realtime) (count: 1,
                                   dtype: seconds)
    --process-duration             Set the duration of the host/device sampling (in seconds of realtime) (count: 1, dtype: seconds)
    --cpus                         CPU IDs for frequency sampling. Supports integers and/or ranges (count: unlimited, dtype: int and/or range)
    --gpus                         GPU IDs for SMI queries. Supports integers and/or ranges (count: unlimited, dtype: int and/or range)

    [GENERAL SAMPLING OPTIONS] General options for timer-based sampling per-thread

    -f, --sampling-freq            Set the default sampling frequency (number of interrupts per second) (count: 1, dtype: floating-point)
    -t, --tids                     Specify the default thread IDs for sampling, where 0 (zero) is the main thread and each thread created by the target
                                   application is assigned an atomically incrementing value. (min: 1, dtype: int and/or range)
    --sampling-wait                Set the default wait time (i.e. delay) before taking first sample (in seconds). This delay time is based on the clock
                                   of the sampler, i.e., a delay of 1 second for CPU-clock sampler may not equal 1 second of realtime (count: 1, dtype:
                                   seconds)
    --sampling-duration            Set the duration of the sampling (in seconds of realtime). I.e., it is possible (currently) to set a CPU-clock time
                                   delay that exceeds the real-time duration... resulting in zero samples being taken (count: 1, dtype: seconds)

    [SAMPLING TIMER OPTIONS] These options determine the heuristic for deciding when to take a sample

    --sample-cputime               Sample based on a CPU-clock timer (default). Accepts zero or more arguments:
                                       0. Enables sampling based on CPU-clock timer.
                                       1. Interrupts per second. E.g., 100 == sample every 10 milliseconds of CPU-time.
                                       2. Delay (in seconds of CPU-clock time). I.e., how long each thread should wait before taking first sample.
                                       3+ Thread IDs to target for sampling, starting at 0 (the main thread).
                                          May be specified as index or range, e.g., '0 2-4' will be interpreted as:
                                             sample the main thread (0), do not sample the first child thread but sample the 2nd, 3rd, and 4th child threads (min: 0, dtype: [freq] [delay] [tids...])
    --sample-realtime              Sample based on a real-clock timer. Accepts zero or more arguments:
                                       0. Enables sampling based on real-clock timer.
                                       1. Interrupts per second. E.g., 100 == sample every 10 milliseconds of realtime.
                                       2. Delay (in seconds of real-clock time). I.e., how long each thread should wait before taking first sample.
                                       3+ Thread IDs to target for sampling, starting at 0 (the main thread).
                                          May be specified as index or range, e.g., '0 2-4' will be interpreted as:
                                             sample the main thread (0), do not sample the first child thread but sample the 2nd, 3rd, and 4th child threads
                                          When sampling with a real-clock timer, please note that enabling this will cause threads which are typically "idle"
                                          to consume more resources since, while idle, the real-clock time increases (and therefore triggers taking samples)
                                          whereas the CPU-clock time does not. (min: 0, dtype: [freq] [delay] [tids...])

    [ADVANCED SAMPLING OPTIONS] These options determine the heuristic for deciding when to take a sample

    --sampling-cputime-delay       Time (in seconds) to wait before the first CPU-time sampling signal is delivered. Defaults to OMNITRACE_SAMPLING_DELAY
                                   when <= 0.0 (min: 1, dtype: floating-point)
    --sampling-cputime-freq        Number of software interrupts per second of CPU-time. Defaults to OMNITRACE_SAMPLING_FREQ when <= 0.0 (min: 1, dtype:
                                   floating-point)
    --sampling-cputime-tids        Same as OMNITRACE_SAMPLING_TIDS but applies specifically to samplers whose timers are based on the CPU-time. This is
                                   useful when both OMNITRACE_SAMPLING_CPUTIME=ON and OMNITRACE_SAMPLING_REALTIME=ON (min: 0, dtype: string)
    --sampling-include-inlines     Create entries for inlined functions when available (min: 0, dtype: boolean)
    --sampling-keep-internal       Configure whether the statistical samples should include call-stack entries from internal routines in omnitrace. E.g.
                                   when ON, the call-stack will show functions like omnitrace_push_trace. If disabled, omnitrace will attempt to filter
                                   out internal routines from the sampling call-stacks (min: 0, dtype: boolean)
    --sampling-realtime-delay      Time (in seconds) to wait before the first real (wall) time sampling signal is delivered. Defaults to
                                   OMNITRACE_SAMPLING_DELAY when <= 0.0 (min: 1, dtype: floating-point)
    --sampling-realtime-freq       Number of software interrupts per second of real (wall) time. Defaults to OMNITRACE_SAMPLING_FREQ when <= 0.0 (min: 1,
                                   dtype: floating-point)
    --sampling-realtime-offset     Modify this value only if the target process is also using SIGRTMIN. E.g. the signal used is SIGRTMIN + <THIS_VALUE>.
                                   Value must be <= 30 (min: 1, dtype: integral)
    --sampling-realtime-tids       Same as OMNITRACE_SAMPLING_TIDS but applies specifically to samplers whose timers are based on the real (wall) time.
                                   This is useful when both OMNITRACE_SAMPLING_CPUTIME=ON and OMNITRACE_SAMPLING_REALTIME=ON (min: 0, dtype: string)

    [HARDWARE COUNTER OPTIONS] See also: omnitrace-avail -H

    -C, --cpu-events               Set the CPU hardware counter events to record (ref: `omnitrace-avail -H -c CPU`) (min: 1, dtype: [EVENT ...])
    -G, --gpu-events               Set the GPU hardware counter events to record (ref: `omnitrace-avail -H -c GPU`) (min: 1, dtype: [EVENT ...])

    [CATEGORY OPTIONS]

    --enable-categories [ causal
                          comm_data
                          cpu_frequency
                          critical-trace
                          device-critical-trace
                          device_busy
                          device_hip
                          device_hsa
                          device_memory_usage
                          device_power
                          device_temp
                          host
                          host-critical-trace
                          kernel_hardware_counter
                          kokkos
                          mpi
                          numa
                          ompt
                          process_context_switch
                          process_kernel_cpu_time
                          process_memory_hwm
                          process_page_fault
                          process_sampling
                          process_user_cpu_time
                          process_virtual_memory
                          pthread
                          python
                          rccl
                          rocm_hip
                          rocm_hsa
                          rocm_roctx
                          rocm_smi
                          rocprofiler
                          roctracer
                          sampling
                          thread_context_switch
                          thread_cpu_time
                          thread_hardware_counter
                          thread_page_fault
                          thread_peak_memory
                          thread_wall_time
                          timemory
                          user ]
                                   Enable collecting profiling and trace data for these categories and disable all other categories (min: 1, dtype:
                                   string)
    --disable-categories [ causal
                           comm_data
                           cpu_frequency
                           critical-trace
                           device-critical-trace
                           device_busy
                           device_hip
                           device_hsa
                           device_memory_usage
                           device_power
                           device_temp
                           host
                           host-critical-trace
                           kernel_hardware_counter
                           kokkos
                           mpi
                           numa
                           ompt
                           process_context_switch
                           process_kernel_cpu_time
                           process_memory_hwm
                           process_page_fault
                           process_sampling
                           process_user_cpu_time
                           process_virtual_memory
                           pthread
                           python
                           rccl
                           rocm_hip
                           rocm_hsa
                           rocm_roctx
                           rocm_smi
                           rocprofiler
                           roctracer
                           sampling
                           thread_context_switch
                           thread_cpu_time
                           thread_hardware_counter
                           thread_page_fault
                           thread_peak_memory
                           thread_wall_time
                           timemory
                           user ]
                                   Disable collecting profiling and trace data for these categories (min: 1, dtype: string)

    [IO OPTIONS]

    --tmpdir                       Base directory for temporary files (min: 0, dtype: string)
    --use-pid                      Enable tagging filenames with process identifier (either MPI rank or pid) (min: 0, dtype: boolean)
    --time-output                  Output data to subfolder w/ a timestamp (see also: TIME_FORMAT) (min: 0, dtype: boolean)
    --causal-file                  Name of causal output filename (w/o extension) (min: 0, dtype: string)
    --causal-file-reset            Overwrite any existing causal output file instead of appending to it (min: 0, dtype: boolean)
    --use-temporary-files          Write data to temporary files to minimize the memory usage of omnitrace, e.g. call-stack samples will be periodically
                                   written to a file and re-loaded during finalization (min: 0, dtype: boolean)

    [PERFETTO OPTIONS]

    --perfetto-backend [ all | inprocess | system ]
                                   Specify the perfetto backend to activate. Options are: 'inprocess', 'system', or 'all' (min: 1, dtype: string)
    --perfetto-roctracer-per-stream
                                   Separate roctracer GPU side traces (copies, kernels) into separate tracks based on the stream they're enqueued into
                                   (min: 0, dtype: boolean)
    --perfetto-shmem-size-hint-kb
                                   Hint for shared-memory buffer size in perfetto (in KB) (min: 1, dtype: integral)

    [TIMEMORY OPTIONS]

    --timemory-components          List of components to collect via timemory (see `omnitrace-avail -C`) (min: 0, dtype: string)

    [ROCM OPTIONS]

    --roctracer-hip-activity       Enable HIP activity tracing support (min: 0, dtype: boolean)
    --roctracer-hip-api            Enable HIP API tracing support (min: 0, dtype: boolean)
    --roctracer-hsa-activity       Enable HSA activity tracing support (min: 0, dtype: boolean)
    --roctracer-hsa-api            Enable HSA API tracing support (min: 0, dtype: boolean)
    --roctracer-hsa-api-types      HSA API type to collect (min: 0, dtype: string)

    [CRITICAL_TRACE OPTIONS]

    --critical-trace-buffer-count
                                   Number of critical trace records to store in thread-local memory before submitting to shared buffer (min: 1, dtype:
                                   integral)
    --critical-trace-count         Number of critical trace to export (0 == all) (min: 1, dtype: integral)
    --critical-trace-per-row       How many critical traces per row in perfetto (0 == all in one row) (min: 1, dtype: integral)

    [MISCELLANEOUS OPTIONS]

    -i, --inlines                  Include inline info in output when available (max: 1, dtype: bool)
    --hsa-interrupt [ 0 | 1 ]      Set the value of the HSA_ENABLE_INTERRUPT environment variable.
                                     ROCm version 5.2 and older have a bug which will cause a deadlock if a sample is taken while waiting for the signal
                                     that a kernel completed -- which happens when sampling with a real-clock timer. We require this option to be set to
                                     when --realtime is specified to make users aware that, while this may fix the bug, it can have a negative impact on
                                     performance.
                                     Values:
                                       0     avoid triggering the bug, potentially at the cost of reduced performance
                                       1     do not modify how ROCm is notified about kernel completion (count: 1, dtype: int)

    [CAUSAL OPTIONS]

    --causal-binary-exclude        Excludes binaries matching the list of provided regexes from causal experiments (separated by tab, semi-colon, and/or
                                   quotes (single or double)) (min: 0, dtype: string)
    --causal-binary-scope          Limits causal experiments to the binaries matching the provided list of regular expressions (separated by tab,
                                   semi-colon, and/or quotes (single or double)) (min: 0, dtype: string)
    --causal-delay                 Length of time to wait (in seconds) before starting the first causal experiment (min: 1, dtype: floating-point)
    --causal-duration              Length of time to perform causal experimentation (in seconds) after the first experiment has started. After this amount
                                   of time has elapsed, no more causal experiments will be performed and the application will continue without any
                                   overhead from causal profiling. Any value <= 0 means until the application completes (min: 1, dtype: floating-point)
    --causal-end-to-end            Perform causal experiment over the length of the entire application (min: 0, dtype: boolean)
    --causal-fixed-speedup         List of virtual speedups between 0 and 100 (inclusive) to sample from for causal profiling (min: 0, dtype: string)
    --causal-function-exclude      Excludes functions matching the list of provided regexes from causal experiments (separated by tab, semi-colon, and/or
                                   quotes (single or double)) (min: 0, dtype: string)
    --causal-function-exclude-defaults
                                   This controls adding a series of function exclude regexes to avoid experimenting on STL implementation functions, etc.
                                   which are, generally, not helpful. Details: excludes demangled function names starting with '_' or containing '::_M'.
                                   (min: 0, dtype: boolean)
    --causal-function-scope        List of <function> regex entries for causal profiling (separated by tab, semi-colon, and/or quotes (single or double))
                                   (min: 0, dtype: string)
    --causal-mode                  Perform causal experiments at the function-scope or line-scope. Ideally, use function first to locate function with
                                   highest impact and then switch to line mode + OMNITRACE_CAUSAL_FUNCTION_SCOPE set to the function being targeted. (min:
                                   0, dtype: string)
    --causal-random-seed           Seed for random number generator which selects speedups and experiments -- please note that the lines selected for
                                   experimentation are not reproducible but the speedup selection is. If set to zero, std::random_device{}() will be used.
                                   (min: 1, dtype: integral)
    --causal-source-exclude        Excludes source files or source file + lineno pair (i.e. <file> or <file>:<line>) matching the list of provided regexes
                                   from causal experiments (separated by tab, semi-colon, and/or quotes (single or double)) (min: 0, dtype: string)
    --causal-source-scope          Limits causal experiments to the source files or source file + lineno pair (i.e. <file> or <file>:<line>) matching the
                                   provided list of regular expressions (separated by tab, semi-colon, and/or quotes (single or double)) (min: 0, dtype:
                                   string)

[ ] Write documentation
[ ] Exclude causal profiling settings


diffoscope: add missing tools

Motivation for this change
Add a bunch of dependencies for missing tools.
nix path-info -S reports the following changes:
diffoscope: 345M -> 356.7M
diffoscope w/ enableBloat: 5.4G -> 6.1G
Also re-enabled the tests and added the dependencies to checkInputs so
the comparator tests are not automatically skipped.

CC @dezgeg @ma27
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@Ma27 Hmm, that's strange. It is working for me, and I haven't been able to reproduce. It also seems to be working on the OfBorg builder: https://github.com/NixOS/nixpkgs/pull/89195/checks?check_run_id=722214621
What filesystem are you using? I've tried this on two different machines, using zfs and btrfs. Could you think of any other impurities that might affect this?

That's interesting. It builds fine on my local machine (NixOS 20.03, Linux 5.6.14, ZFS) and breaks on my remote builder (NixOS 20.03, Linux 5.6.14, ext4 in a KVM).
Unless we find the culprit, I'd suggest to skip the flaky test.

I was able to reproduce this in a VM with ext4. It turns out this issue was fixed in the most recent version of diffoscope:
https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/74
So, I added a commit bumping to 146. Built and tested diffoscope with and without enableBloat.

Rebased commit against master. I also had to add apksigner as a dependency to make the apk tests work with 146 and enableBloat.
However, now that I've rebased against master, an indirect dependency is failing to build for me: multipath-tools.

@danielfullmer please rebase onto latest master, multipath-tools has been fixed in #89367.

Rebased against master, successfully built and briefly tested with and without enableBloat. Should be good to go!


refactor "isGeneratorFunction"

fix for object that don't have constructor and GeneratorFunction that it's displayName is not "GeneratorFunction"

I really like that it uses isGenerator :+1:

lol damn. didn't think of this

1e50cefc85de4570d394e3f9b0a32a7a5db7e924


Create tigera-dpi namespace irrespective of DPI resource

Description
Issue: Applying network policies fails during CaliEnt install as tigera-dpi namespace doesn't exist unit DeepPacketInspection resource is created.
This PR is to create a tigera-dpi namespace without depending on DeepPacketInspection resource.

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

@tmjd I've update the PR so dpi namespace is created even if there is no dpi resource. As discussed I haven't updated the condition where dpi namespace is deleted if there is no license as all other components are doing the same.


Need a more elegant way to filter out non-3D printers from serial ports

On server/models/printers.py, the getConnectedPorts method is called when the user goes to Registration, clicks "Register Printer," and select device, a list of the connected serial ports appears.
Right now, in the getConnectedPorts method, we filter out non-3D printer ports with the line:
           if (("original" in port.description.lower()) or ("prusa" in port.description.lower())) and (Printer.getPrinterByHwid(hwid_without_location) is None) :
We need a more elegant way to filter out non-3D printers that isn't string-matching. We'd like to expand this to more printers than just Prusa, so idk. Good luck hahaha

fixed with refactor, pull req #80


Removing templates and wizards

Removing the templates from this repo as these have been moved to http://github.com/dotnet/test-templates

Removing ~180 files, super cool 🥇


find a bug in file "src/auto/configure" calculate vi_cv_var_python3_version

Steps to reproduce

./configure --with-features=huge --enable-pythoninterp=yes --enable-cscope --enable-fontset --enable-python3interp=yes --with-python3-config-dir=/usr/local/lib/python3.9/config-3.9-x86_64-linux-gnu --with-python3-command=/usr/local/bin/python3

Expected behaviour
there're some bugs in src/auto/configure when it calgulator ${vi_cv_var_python_version}, i got empty
Version of Vim
8.2.4744
Environment
ubutu1804
python3.9.2
Logs and stack traces
what i do:
./configure --with-features=huge --enable-pythoninterp=yes --enable-cscope --enable-fontset --enable-python3interp=yes --with-python3-config-dir=/usr/local/lib/python3.9/config-3.9-x86_64-linux-gnu --with-python3-command=/usr/local/bin/python3

it happened：
Python is 3.0 or better...   File "<string>", line 1
    import sys; sys.exit( < 3.0)
SyntaxError: invalid syntax
too old
${vi_cv_var_python_version} is empty, I temporarily fixed it by using `vi_cv_var_python3_version='python3 -c  'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))''`

In retrospect, the first time I set the python path to /usr/loacl/bin/python3 using the configure tool wrongly, and then set it to /usr/local/bin/python3 using the configure tool, the installation could not be restored.

Have you tried using "make distclean" ?
Above where you notice the error there should be the command that obtains the version number. For me it reports:
configure:6731: checking Python version
configure:6740: result: 3.9

Also check src/auto/config.log for any hints. What is the log output around the version check?

the log output:

Python is 3.0 or better...   File "", line 1
import sys; sys.exit( < 3.0)
SyntaxError: invalid syntax
too old

i didin't use "make distclean". it may be the cause of the error.In the end, I solved the problem in an unelegant way. Hopefully, this will be a good example for other users who build vim themselves to use "make distclean" when errors occur.


Text Input on Belly Screen

Can we build the option to input text on the Belly Screen? This will allow teens to input some thoughts (e.g., essential for the Yes / No micro-intervention).

Initial version pushed to the backend. Text area input can be added via the database by adding an entry called textInput to a screen with fields as shown below. Front end still needs to be updated to add a text area component normally.


[Feat]: Change tables to comply with accessibility rules

Description
As reported in: https://www.w3.org/WAI/WCAG21/Techniques/html/H39.html
The table tag must have inside the caption tag in all cases.
Proposed solution
Cookies
Additional details
No response

fixed in bdfe84e


Payload does not match inode header (error)

Hi 👋
I'm getting the following error when trying store a rather large json string:

Error: Failed to putFile /ongaku-ryoho-v1_0.json (errno: 22): Payload a051db852f2ed2b9fe66b02ad750572b301d23cf5044cded5be4c6c35d127d08 does not match inode header ea923245d45c0c2b0f88c0fbb11f01e8639499a1be3565a2f0443a5e4d0abfd0

Works fine for smaller strings though 🤔
Here's the json: https://gist.github.com/icidasset/79df55b34eb4de6fbde2da617f0cd709
(not the exact thing I used because I had to remove some sensitive data)
Not sure where to go from here.
Any suggestions?
Thanks!

Sorry to hear that @icidasset.
@jcnelson or @kantai should be able to shed some light on why that's happening

Looks like a unicode issue in our JS library's interaction with Core. Working on a fix now!

It appears to work now, thanks for fixing this! 😄
You can close this if you think this is resolved.

@icidasset are you using this library directly or via https://github.com/blockstack/blockstack.js?

@larrysalibra I'm using this library directly (master branch, not npm release)

Addressed in commit 28b53605


Update of Labels and Annotations in Dependent Resources

Recently we added more intelligent matching also for labels and annotations in metadata of dependent resources. However those are not really handled well during and update phase.

Closing this issue, it should be covered by #1933


back button issue.

i am not getting filled value after pressing back button .

This needs more troubleshooting information. Closing.


Index Exchange + Roundel Docs Update: coppa support

Updated documentation for index and roundel to outline coppa support.
Connected Prebid PR: https://github.com/prebid/Prebid.js/pull/6782

part of 4.41


5.2.1 authenticates edited + expired tokens

Upgraded to 5.2.1 and as long as any Authorization token is in the headers the request will succeed.
Therefore expiry time is not working and I can also edit the JWT and still be verified.
Downgraded back to 5.2.0 and all is working perfectly

I am having the same, issue, I originally bumped to 5.2.1 due to the bugfix for https://github.com/jazzband/djangorestframework-simplejwt/pull/600
I will have to await a fix

This is resolved in 5.2.2 or downgrading to 5.2.0. Apologies for the troubles and delay. We did not think carefully about this merge.


Add release action

Add GitHub action for release. The release action must dynamically switch between pre-release and release based on the tag. For example, 0.1.0 should be a release and 0.1.0-rc.1 should be a pre-release.

Related commit: https://github.com/nickgerace/bovine/commit/8e99c3fc31a8f469e12ee5fdd6264d496fe2d95f

Related commit: https://github.com/nickgerace/bovine/commit/c38811c05d5fcf31ea3876a1e446e1bca1abe907

Related commit: https://github.com/nickgerace/bovine/commit/3c929b684baaea42b77eeb7865e7867d39eda2e2

Related commit: https://github.com/nickgerace/bovine/commit/ee92bf29c7b084bc1dfda00e932234a3792d27ae

Related commit: https://github.com/nickgerace/bovine/commit/77dcf64d7de899666fd10b920858c48f4ae36160

Related commit: https://github.com/nickgerace/bovine/commit/1d844214a6c28ea5d1a478b8c89e05c5cae093ad


Ubuntu  22.04.2 LTS

We upgraded our sever to Ubuntu version  22.04.2 and now library has stopped working we are using version 3.0.1 . Its gives us an error
simplecrypto Invalid encrypted text received. Decryption halted. Even though the string was encrypted by the same key that we are using to decrypt

i am facing same issue also


Question on Helm's MaxHistory limit during rollback

Helm cli by default sets the default MaxHistory limit during rollback to 10: https://github.com/helm/helm/blob/3fc9f4b2638e76f26739cd77c7017139be81d0ea/pkg/cli/environment.go#L42, whereas no limit is imposed by default in here: https://github.com/helm/helm/blob/f32a527a060157990e2aa86bf45010dfb3cc8b8d/pkg/storage/storage.go#L41-L43.
Is there a particular reason for this behaviour? Are there any use-cases where it is preferred to have it set to 0.
Context: We use helm library for scaffolding a helm based operator. Though storing unlimited rollbacks is not a desired feature, just wanted to make sure the reason behind the decision to leave it to 0 by default.

I suspect there isn't any specific reason. But @technosophos wrote the code so he would know :)


[EventEngine] Temporarily disable EventEngine experiments in end2end tests

We are not currently using the signal that these experiment tests provide, so we can speed up the CI by disabling them for now.

CC @Vignesh2208


[Todoist] Quick add is returning 400

Extension
https://www.raycast.com/doist/todoist
Description
I am able to Create Task using the plugin so the integration is working as expected. But when I try to use Quick Add I get a 400 error.

Steps To Reproduce

Open RayCast
Choose the Todoist Quick Add command
Enter a date/time, like "Today"
Enter a description like "Test"
Press Command + Enter, or just Enter
Look at the status bar at the bottom of the RayCast prompt

Current Behaviour
Returns a 400 error when you attempt to add a Quick Task
Expected Behaviour
The task entered in the prompt appears in the Todoist Inbox.

This is happening because Todoist uses NLP to parse your text. Since Today will be recognized as a date, it means your main text is empty so it can't add an empty to-do. It's the same experience on their website:

Unfortunately, Todoist's API doesn't send back a more descriptive error, so we can't really improve that part. On the other hand, we can't replicate the same NLP experience as the one on Todoist due to technical limitations. Therefore, I'll mark this one as "Not Planned" 🙂

Ok, yes I knew that "Today" was going to be processed as a date. I think the issue here is I was reading the "Text" prompt as what was required for the date and Description as the task. Could the prompt be improved maybe? Maybe it shouldn't be changed since this is how Todoist handles Quick Add too.

It could be improved, yes. What would you suggest?


Exclude argument doesn't seem to be working

Hi @tonerdo,
Please accept my sincere thanks for building and sharing coverlet tool to community. It helped a lot to get the code coverage for our .NET core application on linux/mac/windows.
It was very easy to set up and use.
I just ran into issue where I am trying to exclude few of the assemblies from coverage report but the exclude argument doesn't seem to honored.
Here is my command:
dotnet test build.proj /p:CollectCoverage=true /p:CoverletOutput='./resultsZZ/' /p:CoverletOutputFormat=opencover --logger 'trx;LogFileName=ci_tests.trx' /p:Exclude="MyTest.FlowService.UnitTestHelpers*"
I tried including wild cards like:
dotnet test build.proj /p:CollectCoverage=true /p:CoverletOutput='./resultsAA/' /p:CoverletOutputFormat=opencover --logger 'trx;LogFileName=ci_tests.trx' /p:Exclude="MyTest.*.UnitTestHelpers*"
dotnet test build.proj /p:CollectCoverage=true /p:CoverletOutput='./resultsAA/' /p:CoverletOutputFormat=opencover --logger 'trx;LogFileName=ci_tests.trx' /p:Exclude="MyTest.*.*TestHelpers"
Name of the assembly which I am trying to exclude is
MyTest.FlowService.UnitTestHelpers.dll
Please note build.proj is msbuild style file which gives me list of project files inside the solution folder and test command maps to VSTest target.
The coverage report output is generated as expected, just having difficulty in excluding the assembly that is not required.
I am using coverlet.msbuild 2.2.1. Not sure if there is something wrong in my syntax. Please can you suggest what I am missing?

The filter format is like [Assembly-Filter]Type-Filter
So in your case it's more like [MyTest.*.*TestHelpers]*
And think you should escape "

Thanks @latop2604 for the example, I tested it locally and it worked. 👍
Sorry my bad I didn't follow the pattern as exactly its mentioned in the documentation.
Not an issue, user issue. 👍
I will try more filters on my CI. I will close this issue.


Undefined variable in tutorial

Here you provide this code
let info = vk::InstanceCreateInfo::builder()
    .application_info(&application_info)
    .enabled_layer_names(&layers)
    .enabled_extension_names(&extensions)
    .flags(flags);

But the variable flags from .flags(flags); is undefined

Here
vk_window::create_surface doesn't exist in favor of vulkanalia::window::create_surface;
The new function takes 3 arguments one of which is display which is missing in the tutorial

Here
Ok(extensions) uses an unknown variable, it should be Ok(())

For the first problem, I checked this and flags is defined in the previous chapter (Instance).
The other two problems are duplicates of existing issues that I've just now resolved with some updates to the tutorial.
Thank you for the reports!

Oh I didn't do this part because it said Driver compability (macOS)
I thought it was a part only for macOS users

That's a good point, I forgot that the section that introduces the flags variable is marked as being a macOS section.
That could definitely be improved, I see why someone would miss it now.
I'll think about how to update that section to improve it.

Here is says this :
And then create the object in the create_pipeline function:
let layout_info = vk::PipelineLayoutCreateInfo::builder();
data.pipeline_layout = device.create_pipeline_layout(&layout_info, None)?;

The create_pipeline at that point was pretty populated so I placed it near the end before device.destroy_shader_module
I did not know I had to instantiate the layout before the pipeline was created because the pipeline use data.pipeline_layout
This caused me an error
Maybe it could precise to add the function at the top of create_pipeline or even directly in App create before create_pipeline

Here It mentions None of these flags are applicable for us right now.
but I believe we do need vk::CommandBufferUsageFlags::SIMULTANEOUS_USE because I was getting spammed with errors without it
In create_command_buffers I changed
.flags(vk::CommandBufferUsageFlags::empty()) // Optional.

to
.flags(vk::CommandBufferUsageFlags::SIMULTANEOUS_USE) // Optional.

Hopefully this helps and again sorry for lots all the report you tell me if you would prefer I open a different issue for each or whatever you'd prefer

Hopefully this helps and again sorry for lots all the report you tell me if you would prefer I open a different issue for each or whatever you'd prefer

Not a problem at all, thanks for the reports. I'm sure you aren't the first person to have run into these issues so I'm glad to know about them (its been quite a while since I went through each chapter and checked that it all hangs together, compiles, etc.).
A single issue is fine, I'll hope to start fixing/clarifying these problems soon.

Here it says

The flags parameter is used to configure sparse buffer memory, which is not relevant right now. We'll leave it at the default value of 0.

Issue is there's no flag parameter, I think this is the equivalent of dead code but for docs

Here is missing a critical change for layout_info
This line
let layout_info = vk::PipelineLayoutCreateInfo::builder();

Requires a change to add the newly added descriptor_set_layout
let binding = &[data.descriptor_set_layout];
let layout_info = vk::PipelineLayoutCreateInfo::builder().set_layouts(binding);

Here is also missing a critical line
if changed {
    self.recreate_swapchain(window)?;
    self.resized = false; // MISSING LINE
} else if let Err(e) = result {
    return Err(anyhow!(e));
}

I was wondering why I had 120 fps on average even though my monitor is 280hz.
The swapchain was getting recreated every frame 💀 Im now back to 1000+ fps

Creating a checklist so I can track this more easily:

[ ] Update instance chapter to make it clear the driver compatibility section applies to everyone, not just macOS
[ ] Update fixed functions chapter to make placement of pipeline layout initialization more clear
[ ] Investigate whether simultaneous use command buffer flag should be included in command buffers chapter
[ ] Remove reference to unused sparse buffer memory flag in vertex buffer creation chapter
[ ] Fix descriptor set layout initialization in descriptor pool chapter
[ ] Fix reference to sample count flags in texture images chapter
[ ] Fix resizing logic in swapchain recreation chapter
[ ] Fix copy_bufer_to_image typo in texture images chapter

Will start working on these this weekend, thank you again for documenting these.

It's a recommendation only but I recommend changing from glm to cgmath
Doing so might require lots of editing ( somewhat ) of the tutorial but could improve the quality of it
glm hasn't been updated for 6 years and due to it I was was getting lots of security issues from Dependabot

This is the equivalent of glm but using cgmath
// Vertex struct
pub(crate) pos: cgmath::Vector3<f32>,
pub(crate) color: cgmath::Vector3<f32>,
pub(crate) tex_coord: cgmath::Vector2<f32>,

// Transformations
let identity = <cgmath::Matrix4<f32> as cgmath::SquareMatrix>::identity();

let model = <cgmath::Matrix4<f32>>::from_angle_z(cgmath::Deg(time * 10.0)) * identity;

let view = <cgmath::Matrix4<f32>>::look_at_rh(
    cgmath::Point3::new(2.0, 2.0, 2.0),
    cgmath::Point3::new(0.0, 0.0, 0.0),
    cgmath::Vector3::unit_z(),
);

let aspect_ratio =
    self.data.swapchain_extent.width as f32 / self.data.swapchain_extent.height as f32;
let mut proj = cgmath::perspective(cgmath::Deg(45.0), aspect_ratio, 0.1, 10.0);

proj.y.y *= -1.0;

// These stays the same except using cgmath
cgmath::vec3(1.0, 1.0, 1.0),

// Vec2, Vec3, Mat4 struts are replaced by Vector2, Vector3, Matrix4

At the end of Chapter 37 it says results in sigificant performance wins
Small typo

Chapter 37 has a big memory leak.
I saw another project using Vulkanalia who also discarded this line. I am unsure of it's purpose.
self.data.secondary_command_buffers.resize_with(image_index + 1, Vec::new);

Thank you for noting all of this down, I am tracking it here: #151

I've addressed most of these, but I had a question about one of the things you mentioned:
On the vk::CommandBufferUsageFlags::SIMULTANEOUS_USE flag from the command buffers chapter, did you also see the same errors/warnings when running the code samples that also don't use this flag?
These command buffers are not expected to be used simultaneously as there should be one for each framebuffer. If you do see the same issue with the code samples, could you provide more info about your platform?
Thanks.

Yes I always used the code from the tutorial except when there was errors.
This is the commit, you can download it, compile as is, test then remove the flag and compile again you will see the error pop up.
Hopefully this helps! I'm on Windows 10 x64 version 10.0.19045


Use more general types for scale functions

As mentioned in https://github.com/JuulLabs/krayon/pull/69#discussion_r777055430, it seems beneficial to use more general types for these extension functions.

Re. ContinuousScale accepting Iterable instead of List, we do actually take advantage of the random-access internally. Granted, considering how low count these lists will generally be, I'd be fine with just .toList-ing an Iterable for consumer ease.


do not build on gh-pages

Purpose of this PR is to avoid building on the gh-pages branch which should be used only for GH pages feature.
Looking at > https://github.com/G-Research/siembol/pull/277 and failing unit tests, this move made sense.

@76creates I think it solved failing building on pushing to gh-pages branch. On the other hand, the build is failing on a branch during PRs - Meybe we should remove these actions in this branch?

@mariannovotny
not a huge fan of inconsistencies between branches, would much rather minimize gh-pages to a directory within the master branch as it it possible to define a directory within a branch for pages, if you agree I could do it
if not, for sure, removing is the easiest option, other one is adding more conditionals which is not super classy


DAT-37: BE - Clean API

fix respond err when token not valid

validate:

register:
name: required
email:required, email
password: required, gta: 8

login:
email: required, email
password:  required, gta: 8

update:
_id: required
name: required
email:
age: required
relationship:
lookingFor
media
gender: required
sex:
country: required
hobby:
about:
like_id: []
match_id: []

LGTM

Please add length check for string fiellds


Body is not handled in the right way, data contains still header info

When trying for example send a text file using curl
$ curl -F<EMAIL_ADDRESS>http://localhost:8080
You can see that there is still header info in the actual data, this needs to be stripped of, somehow related to  this.

Correct... SimpleHttpServer does not currently handle multipart-post file upload. It is a small educational server designed to learn the basics of HTTP.. The code should probably be checking the POST content type and throwing an exception on unhandled multipart/form-data uploads.
The link you posted does discuss multi-part form upload. Unfortunately, the example PopulatePostMultiPart won't handle binary data or large uploads, because it's decoding everything into a string. Here is a better description...
http://stackoverflow.com/questions/8659808/how-does-http-file-upload-work

Good article, i was thinking would be wise to just encode the binary, like base64 and send it as string, That is handle in easier way by http and can be decode in the server side.

It is not easier to base64 the data. All that is needed is to properly implement multi-part file upload on the server.
If it will help, i can spend some time implementing this. It is not hard.


Builder for Terms/AST

can be used by parser
prevents injection attacks (we can't just string concatenate strings because the strings could be escaped so it represents [valid] narsese)

ex to build <<{"a"} --> n> <-> c>

Term builtTerm = retBuilder()
.addStatement(EnumCopula.SIMILARITY)
.addStatement(EnumCopula.INHERITANCE)
.addSet()
.addString("a")
.setSubjectPop()
.addAtom("n")
.setPredicatePop()
.setSubjectPop()
.setPredicatePop();

It is a good match and a requirement for the (new) parser because it has to "feed" the Term/AST builder recursivly.
Plus it by it's nature prevents narsese-injection attacks/bugs.

https://github.com/automenta/narchy/blob/skynet5/nal/src/main/java/nars/util/term/builder/InterningTermBuilder.java#L18
https://github.com/automenta/narchy/blob/skynet5/nal/src/test/java/nars/term/TermReductionsTest.java#L27


implemeted dec_trees

Pull Request Type
What kind of change does this PR introduce?
[x ] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?
empty file
Issue Number:  #1418
What is the new behavior?
implemented decision tree

Closed after merging another PR with same issue.


Account Keybinds

What do you want

I'd like a way (through a config file or otherwise) to switch accounts with a single hotkey. For example, control+F1 to switch to one account and control+F2 to switch to another account.
Why

It bothers me to have to enter the command input window just to switch accounts, and typing "account switch __" every time gets on my nerves.
Implementation hints

We could assign numbers to each account added, and add options in the shortcuts interface to set each one. "Switch to account 1" could be set to any shortcut, and so on.
Thanks for your consideration, if this isn't possible, I've been just using launch options to do this myself, but a built in solution would be amazing!

Sounds like an awesome concept!


Changing name to a website Ex: google.com Fails.

If I change the name of the bots to google.com or any other site that includes a (.) it will make the cell unnamed. Solution?

I believe it's related to https://github.com/davidmann4/agario-feeder-bot/issues/113

Funny maxbe the names have to be escaped or something like that

@davidmann4 Still fails. Need ideas on how to fix this :/


Credential Offer credentials field is not matching the OID4VCI Draft 12

The credential offer response in rfc001 is not compatible with the referenced version of the OID4VCI spec.
The credentials field should be an

An array of unique strings that each identify one of the keys in the name/value pairs stored in the credentials_supported Credential Issuer metadata property.
OID4VCI Draft 12 Section 4.1.1

The non-normative example from the spec is as follows:
{
   "credential_issuer": "https://credential-issuer.example.com",
   "credentials": [
      "UniversityDegreeCredential",
      "org.iso.18013.5.1.mDL"
   ],
   "grants": {
      "authorization_code": {
         "issuer_state": "eyJhbGciOiJSU0Et...FYUaBy"
      },
      "urn:ietf:params:oauth:grant-type:pre-authorized_code": {
         "pre-authorized_code": "adhjhdjajkdkhjhdj",
         "user_pin_required": true
      }
   }
}

This change is accepted. The earlier version was coming from EBSI conformant wallet implementation specs.


Allow non-ascii character in CLI

Fix #901

The error is unrelated right? LGTM.

Also let me know if you know why we get the HTTP Error 400: Bad Request error.
https://travis-ci.org/spotify/luigi/jobs/59754118

The error is unrelated and I'm unable to reproduce it locally. This test fails relatively often when the server process is not created/killed correctly, but I wouldn't expect a 400.

Oh, sorry, I forgot to merge this!
Thanks for the patch! :)


Replace react-codemirror with react-codemirror2

react-codemirror triggers a version warning with react@16
react-codemirror doesn't seem to be maintained

@chriddyp @shannonlal Shall we use https://www.npmjs.com/package/react-codemirror2 ?

See https://github.com/plotly/falcon-sql-client/issues/311#issuecomment-373019064 to implement resize.


Add --json flag to cli list command

does as the title suggests, adds an output option for list --json that outputs something similar to yarn list --json, complete with a test case
$ bw list --json

"{\"name\":\"application-a\",\"location\":\"applications/applicationA\"}",
"{\"name\":\"application-b\",\"location\":\"applications/applicationB\"}",
  "{\"name\":\"library-a\",\"location\":\"libraries/libraryA\"}",
"{\"name\":\"library-b\",\"location\":\"libraries/libraryB\"}",
  "{\"name\":\"library-c\",\"location\":\"libraries/nested/libraryC\"}"

Thanks for this, I was actually planning on adding a feature like this, may merge this into a WIP branch of mine and include on a release in the near future.


OmniSharp fails to load project when adding reference to other project

Environment data
.NET Command Line Tools (2.1.101)
Product Information:
Version:            2.1.101
Commit SHA-1 hash:  6c22303bf0
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.16299
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.101\
Microsoft .NET Core Shared Framework Host
Version  : 2.0.6
Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d
VS Code version: 1.23.1
C# Extension version: 1.15.0
Steps to reproduce

dotnet new console
dotnet new classlib -o mylib
dotnet add reference mylib/mylib.csproj

Expected  behavior
OmniSharp should load the project as normal and allow intellisense for classes inside mylib
Actual behavior
dotnet build / dotnet run works as expect, BUT:
OmniSharp fails to load the project, output:
    Failed to load project file 'c:\Users\Luna\Desktop\MyProject\MyProject.csproj'.

c:\Users\Luna\Desktop\MyProject\MyProject.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1603,5): Error: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with  in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.
This means intellisense becomes completely unavaible.

Hi! Could you provide your full OmniSharp Log after loading this project? You can find this by selecting View->Output from the VS Code menu and then selecting "OmniSharp Log" from the dropdown at the top-right corner of the Output pane.

Starting OmniSharp server at 2018-5-11 16:58:29
Target: c:\Users\Luna\Desktop\Test
OmniSharp server started
Path: C:\Users\Luna.vscode\extensions\ms-vscode.csharp-1.15.0.omnisharp\1.30.0\OmniSharp.exe
PID: 6660
    Starting OmniSharp on Windows 6.2.9200.0 (x64)

    Located 2 MSBuild instance(s)
        1: Visual Studio Build Tools 2017 15.6.27428.2037 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
        2: StandAlone 15.0 - "C:\Users\Luna\.vscode\extensions\ms-vscode.csharp-1.15.0\.omnisharp\1.30.0\msbuild\15.0\Bin"

    Registered MSBuild instance: Visual Studio Build Tools 2017 15.6.27428.2037 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"

    Detecting Cake files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any Cake files

    Initializing in c:\Users\Luna\Desktop\Test

    Auto package restore: False

    Update workspace context

    Resolving projects references

    No solution files found in 'c:\Users\Luna\Desktop\Test'

    Queue project update for 'c:\Users\Luna\Desktop\Test\Test.csproj'

    Queue project update for 'c:\Users\Luna\Desktop\Test\mylib\mylib.csproj'

    Detecting CSX files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any CSX files

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider

    Configuration finished.

    Omnisharp server running using Stdio at location 'c:\Users\Luna\Desktop\Test' on host 9552.

    Loading project: c:\Users\Luna\Desktop\Test\Test.csproj

    Adding project 'c:\Users\Luna\Desktop\Test\Test.csproj'

    Loading project: c:\Users\Luna\Desktop\Test\mylib\mylib.csproj

    Adding project 'c:\Users\Luna\Desktop\Test\mylib\mylib.csproj'

    Update project: Test

    Update project: mylib

    Queue project update for 'c:\Users\Luna\Desktop\Test\Test.csproj'

    Loading project: c:\Users\Luna\Desktop\Test\Test.csproj

    The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

    Failed to load project file 'c:\Users\Luna\Desktop\Test\Test.csproj'.

c:\Users\Luna\Desktop\Test\Test.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1603,5): Error: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with  in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

Will do and report back asap.

Updated Build Tools, restarted my machine, made a new folder, followed the same steps of creating and referencing the projects, and same story, omnisharp fails to load the project and intellisense doesn't load.
Starting OmniSharp server at 2018-5-11 17:14:10
Target: c:\Users\Luna\Desktop\Test
OmniSharp server started
Path: C:\Users\Luna.vscode\extensions\ms-vscode.csharp-1.15.0.omnisharp\1.30.0\OmniSharp.exe
PID: 8764
    Starting OmniSharp on Windows 6.2.9200.0 (x64)

    Located 2 MSBuild instance(s)
        1: Visual Studio Build Tools 2017 15.6.27428.2043 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
        2: StandAlone 15.0 - "C:\Users\Luna\.vscode\extensions\ms-vscode.csharp-1.15.0\.omnisharp\1.30.0\msbuild\15.0\Bin"

    Registered MSBuild instance: Visual Studio Build Tools 2017 15.6.27428.2043 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"

    Detecting Cake files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any Cake files

    Initializing in c:\Users\Luna\Desktop\Test

    Auto package restore: False

    Update workspace context

    Resolving projects references

    No solution files found in 'c:\Users\Luna\Desktop\Test'

    Queue project update for 'c:\Users\Luna\Desktop\Test\Test.csproj'

    Queue project update for 'c:\Users\Luna\Desktop\Test\mylib\mylib.csproj'

    Loading project: c:\Users\Luna\Desktop\Test\Test.csproj

    Detecting CSX files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any CSX files

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider

    Configuration finished.

    Omnisharp server running using Stdio at location 'c:\Users\Luna\Desktop\Test' on host 7864.

    The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

    Failed to load project file 'c:\Users\Luna\Desktop\Test\Test.csproj'.

c:\Users\Luna\Desktop\Test\Test.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1603,5): Error: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with  in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

FWIW, the log's look identical. It doesn't appear that the VS 2017 build tools were actually updated. They have the same version numbers: 15.6.27428.2043. I just installed the latest VS 2017 build tools locally and the version is 15.7.27703.2000.

My bad, it's updating a second time now, this time for 15.7.1, sorry!

Okay, updated, version numbers match what you said, tried again, same procedure, same result.
dotnet new console
dotnet new classlib -o mylib
dotnet add reference mylib/mylib.csproj
opened Program.cs to start OmniSharp
Starting OmniSharp server at 2018-5-11 17:40:45
Target: c:\Users\Luna\Desktop\Test
OmniSharp server started
Path: C:\Users\Luna.vscode\extensions\ms-vscode.csharp-1.15.0.omnisharp\1.30.0\OmniSharp.exe
PID: 5276
    Starting OmniSharp on Windows 6.2.9200.0 (x64)

    Located 2 MSBuild instance(s)
        1: Visual Studio Build Tools 2017 15.7.27703.2000 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
        2: StandAlone 15.0 - "C:\Users\Luna\.vscode\extensions\ms-vscode.csharp-1.15.0\.omnisharp\1.30.0\msbuild\15.0\Bin"

    Registered MSBuild instance: Visual Studio Build Tools 2017 15.7.27703.2000 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"

    Detecting Cake files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any Cake files

    Initializing in c:\Users\Luna\Desktop\Test

    Auto package restore: False

    Update workspace context

    Resolving projects references

    No solution files found in 'c:\Users\Luna\Desktop\Test'

    Queue project update for 'c:\Users\Luna\Desktop\Test\Test.csproj'

    Queue project update for 'c:\Users\Luna\Desktop\Test\mylib\mylib.csproj'

    Loading project: c:\Users\Luna\Desktop\Test\Test.csproj

    Detecting CSX files in 'c:\Users\Luna\Desktop\Test'.

    Could not find any CSX files

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider

    Configuration finished.

    Omnisharp server running using Stdio at location 'c:\Users\Luna\Desktop\Test' on host 5376.

    The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

    Failed to load project file 'c:\Users\Luna\Desktop\Test\Test.csproj'.

c:\Users\Luna\Desktop\Test\Test.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1656,5): Error: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with  in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" directory.

Thanks for the update and sorry it didn't work. 😞
Out of curiosity, do you actually have the .NET Core workload installed into the VS 2017 build tools?

I believe the .NET Core workload installs newer than 1.0.0 now. I would expect it to be the same tools installed with VS 2017 15.7. @andygerlicher / @rainersigwald, is that the case?
So, the problem seems to be that OmniSharp is trying to use the instance of MSBuild from the VS 2017 Build Tools, but the .NET Core workload is not installed.

Should I try installing the .NET Core workload from the VS Build Tools installer then?

I believe the 15.7 build tools installer .NET Core workload installs the .NET Core SDK version 2.1.200.

(and also some other things, so I would expect it to be worth trying)

Alright, will try

Installing the NET Core workload worked! Thanks a lot! (Although for the future, would it be possible to make it so that it works with standalone installs too?)

I've created https://github.com/OmniSharp/omnisharp-roslyn/issues/1186 to track adding some options.

Estou com exatamente o mesmo problema, mesmo na versão atual continua acontecendo.
dotnet --info
Ferramentas de Linha de Comando do .NET (2.1.200)

Product Information:
 Version:            2.1.200
 Commit SHA-1 hash:  2edba8d7f1

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.16299
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.200\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.7
  Build    : 2d61d0b043915bc948ebf98836fefe9ba942be11

OmniSharp log
OmniSharp server started
    Path: C:\Users\yschmitz\.vscode\extensions\ms-vscode.csharp-1.15.2\.omnisharp\1.30.1\OmniSharp.exe
    PID: 10312

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Ferramentas de Build do Visual Studio 2017 15.7.27703.2000 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\yschmitz\.vscode\extensions\ms-vscode.csharp-1.15.2\.omnisharp\1.30.1\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Ferramentas de Build do Visual Studio 2017 15.7.27703.2000 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'c:\Users\yschmitz\Documents\GitHub\Dev\Server'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in c:\Users\yschmitz\Documents\GitHub\Dev\Server
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.ProjectSystem
        No solution files found in 'c:\Users\yschmitz\Documents\GitHub\Dev\Server'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\Users\yschmitz\Documents\GitHub\Dev\Server\Snm.Api\Snm.Api.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\Users\yschmitz\Documents\GitHub\Dev\Server\Snm.Business\Snm.Business.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\Users\yschmitz\Documents\GitHub\Dev\Server'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Stdio.Host
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Stdio.Host
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'c:\Users\yschmitz\Documents\GitHub\Dev\Server' on host 16580.
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: c:\Users\yschmitz\Documents\GitHub\Dev\Server\Snm.Api\Snm.Api.csproj
[fail]: OmniSharp.MSBuild.ProjectLoader
        A tarefa "GetReferenceNearestTargetFrameworkTask" não foi encontrada. Verifique se: 1.) O nome da tarefa no arquivo de projeto é o mesmo nome da classe da tarefa. 2.) A classe da tarefa é "public" e implementa a interface Microsoft.Build.Framework.ITask. 3.) A tarefa está declarada corretamente com <UsingTask> no arquivo de projeto ou nos arquivos *.tasks localizados no diretório "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin".
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'c:\Users\yschmitz\Documents\GitHub\Dev\Server\Snm.Api\Snm.Api.csproj'.
c:\Users\yschmitz\Documents\GitHub\Dev\Server\Snm.Api\Snm.Api.csproj
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1656,5): Error: A tarefa "GetReferenceNearestTargetFrameworkTask" não foi encontrada. Verifique se: 1.) O nome da tarefa no arquivo de projeto é o mesmo nome da classe da tarefa. 2.) A classe da tarefa é "public" e implementa a interface Microsoft.Build.Framework.ITask. 3.) A tarefa está declarada corretamente com <UsingTask> no arquivo de projeto ou nos arquivos *.tasks localizados no diretório "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"

VsCode
Version 1.23.1
Commit d0182c3417d225529c6d5ad24b7572815d0de9ac
Date 2018-05-10T17:11:17.614Z
Shell 1.7.12
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

@yuridiniz : Could you file a new issue? The underlying problem reported here was discovered. I suspect you're experience a different problem that may look similar.


Add number of tasks as a small number after each group in task lists

Discussed in https://github.com/blacksmithgu/obsidian-dataview/discussions/682

Originally posted by wenlzhang November 23, 2021
While one can use the method mentioned as follows for showing task count for one page, it would be great if one can also show task count for open tasks in individual files and all files in dv.taskList results.
https://github.com/blacksmithgu/obsidian-dataview/discussions/527
For instance, for task count for all files, it can be shown at the top of the task list; for task count for individual files, it can be shown after the file name/link.

You could technically add a count with dv.el().


route decorator compatibility with MethodView

I am trying to get the route decorator to work with the MethodView.
from flask import Blueprint
from flask.views import MethodView

api = Blueprint("api", __name__)

@api.route("/users")
class UserAPI(MethodView):

    def get(self):
        pass

    def post(self):
        pass

I am not sure if this is currently supported but it would be a good plus.

based on the examples of views its not  plus - the idea behind views is that one can configure and instaniate them
if no configuration was needed, one could just set up one blueprint, no need for a view class

Duplicate of #3404, #3975, #4817
Register blueprints with app.add_url_rule("/path", endpoint="name", view_func=View.as_view()). I do not plan to allow using @app.route on View classes, as it would prevent passing args and kwargs to as_view, and would be a special case over any other API extension. Extensions are free to provide whatever methods they like for defining an API.


Update Terms and Definition to be compliant to IEC 62378-1:2023

Update Terms and Definition to be compliant to IEC 62378-1:2023
Also check for terms not needed for Part 3a

#24 Not yet done: removal of terms not needed


test

Coverage remained the same at 89.617% when pulling 574a9cf5068e0589b962961f7ce6354de146746e on test into a33e452e665a55a01634e9271e1a1b0fd97c3294 on master.

Coverage remained the same at 89.617% when pulling 574a9cf5068e0589b962961f7ce6354de146746e on test into a33e452e665a55a01634e9271e1a1b0fd97c3294 on master.


Bump identity-apps-core version to 2.0.91

Purpose

Bump identity-apps-core version to 2.0.91.

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7139199875


Fixes due to upstream changes

openmicroscopy.ansible-role-omero-server now uses omero-server so this will fail if run.
tag changed, from devel, switched to the snapshot of devel again to make it run.

See gh-3


[BUG] Excessive CPU and GPU Memory Usage with Multi-GPU Inference Using DeepSpeed

I am experiencing excessive CPU and GPU memory usage when running multi-GPU inference with DeepSpeed. Specifically, the memory usage does not scale as expected when increasing the number of GPUs. Below is the code I am using for inference:
import os
import torch
import deepspeed
import time
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig
from deepspeed.runtime.zero.config import DeepSpeedZeroConfig
from deepspeed.inference.config import DeepSpeedTPConfig
from deepspeed.runtime.utils import see_memory_usage

local_rank = int(os.getenv("LOCAL_RANK", "0"))
world_size = int(os.getenv("WORLD_SIZE", "1"))

model_dir = "/mnt/sgnfsdata/tolo-03-97/pretrained_models/internlm2-chat-20b"
trust_remote_code = True
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=trust_remote_code)
config = AutoConfig.from_pretrained(model_dir, trust_remote_code=trust_remote_code)
model = AutoModelForCausalLM.from_pretrained(model_dir,
                                             torch_dtype=torch.bfloat16,
                                             trust_remote_code=trust_remote_code
                                             )

model = model.eval()
see_memory_usage("After load model", force=True)

tp_config = DeepSpeedTPConfig(tp_size=world_size)
zero_config = DeepSpeedZeroConfig(stage=3,
                                  model_persistence_threshold=0,
                                  max_live_parameters=0,
                                  mics_shard_size=world_size
                                  )
ds_engine = deepspeed.init_inference(model=model,
                                     tensor_parallel=tp_config,
                                     dtype=torch.bfloat16,
                                     zero=zero_config,
                                     max_out_tokens=1024,
                                     replace_method="auto",
                                     replace_with_kernel_inject=True)

see_memory_usage("After DS-inference init", force=True)

model = ds_engine.module
print("device: ", model.device)
prompt = "what is deepspeed?"
t0 = time.time()
response = model.chat(tokenizer=tokenizer,
                      query=prompt,
                      history=[],
                      max_new_tokens=1024,
                      do_sample=True,
                      temperature=0.8,
                      top_p=0.8
                      )
t1 = time.time()
print(response)
print('=' * 100)
print("inference time: ", t1 - t0)
print('=' * 100)

Steps to Reproduce:

Run the script with 2 GPUs:

deepspeed --num_gpus 2 main.py --ds_inference

Run the script with 4 GPUs:

deepspeed --num_gpus 4 main.py --ds_inference

Expected Behavior:
I expected that using 4 GPUs would reduce the memory usage per GPU, ideally halving the GPU memory usage compared to running with 2 GPUs.
Actual Behavior:
With 2 GPUs:
    CPU virtual memory: 92.87GB
    Each GPU memory: 37.74GB

With 4 GPUs:
    CPU virtual memory: 162.92GB (significantly higher than expected)
    Each GPU memory: 37.74GB (no reduction)

Questions:
Why does the CPU virtual memory usage increase significantly when using more GPUs?
How can I reduce the memory usage per GPU when scaling up the number of GPUs?

System Info:
DeepSpeed version: 0.14.4
PyTorch version: 2.3.1
Transformers version: 4.42.3
Python version: 3.10
OS: ubuntu 24.04

Additional Context:
Any insights or suggestions on how to optimize the memory usage for multi-GPU inference with DeepSpeed would be greatly appreciated. Thank you!

@gawain000000, can you clarify your goals because there are two different solutions for latency and throughput (and low budget) scenarios. I noticed the use of deepspeed.init_inference and zero stage 3 in your codes, which are not recommended combinations.

ZeRO-Inference for low-budget throughput scenarios: based on zero stage 3 is enabled using deepspeed.initialize(). You can find examples here, and here.

FastGen for latency/throughput scenarios: independent of zero stage 3. You can find doc here.

@tjruwase My goals are the following:

Reduce the latency and throughput of the inference, so we need to use DeepSpeed.
Slice the model across multiple GPUs so that each GPU requires a smaller amount of memory.

The reason for this is that when LLMs perform inference on a long document, they need additional memory for storing the KV cache. Currently, I use L40S GPUs to deploy the LLM, and each GPU has only 46GB of memory. If no model slicing is performed, it will result in an OOM error when processing a document around 7000 tokens. I wonder why DeepSpeed's inference initialization allocates the same amount of memory in both cases—using 2 GPUs and 4 GPUs for deployment—making it impossible to process long documents.

Why does the CPU virtual memory usage increase significantly when using more GPUs?
请问随着gpu数量的增加，cpu内存增加解决了吗？


CFP: Drop CRD versioning

Cilium Feature Proposal
Is your proposed feature related to a problem?
At the moment, Cilium Custom Resource Definition (CRD) are versioned with the value defined in https://github.com/cilium/cilium/blob/c0ae00df7d6753d8c1ffa5bb45ac004eb7b479e2/pkg/k8s/apis/cilium.io/register.go#L13-L18
This particular schema version was introduced when the cilium-agents had the task of either creating or updating the Cilium CRD. During an upgrade process, without a schema version, the cilium-agents couldn't determine whether to update the CRD or leave it unchanged. This is the reason why the schema version was introduced, as it enabled them to ascertain whether an update was needed.
Now, the responsibility for creating the CRD lies entirely with the Cilium Operator. Since there's only one entity in charge of this task, it might be worth considering eliminating the versioning of the CRD and simply installing the version provided by the Cilium Operator. This change would permit the ability to carry out downgrades of the CRD, as the current logic only updates the CRD if the versioning number is higher than the one available on the cluster.

This can be a good-first-issue, right?

I like that the CRD schema version provides a way to identify which CRD is configured. I think that we can achieve the same upgrade/downgrade feature by keeping the CRD schema version, but then by changing the Cilium Operator to just detect a version mismatch and unconditionally change the schema. In other words, today the operator enforces that the schema version must always increase. This proposal would be that the operator may allow downgrades of the schema version as well.
If we enable the above, then we could also consider aligning the schema version to the Cilium version. Instead of tracking the schema version differently from the Cilium version, we could update the schema version to exactly match the current Cilium version. This would simplify correlating the schema version to the Cilium version if someone needs to do this, and would also simplify the development/maintenance efforts around the schema version (remove docs updates for correlation, remove requirement for developers to consider schema version when modifying the schema). In this case, the schema should also support prereleases like v1.15.0-pre.1.


How can I transfer to a quick connect when a call is rejected?

I am trying to build a flow where if an agent is rejecting the call, the call gets to their voicemail. There is only one agent in the queue and we don't want the same call to ring to them.
I was not able to figure out how to send the call to voicemail but I thought if I can sent the call to a quick connect, I can link the quick connect to go to their voicemail.
Currently, I am unable to even figure out how to send the missed call or rejected call to a quick connect. Can someone help?

This isn't something that Streams can support. An agent cannot transfer a rejected contact through quick connect.

Do you any recommendations on what can be done? Essentially I want a rejected call to go to voicemail instead of ringing them again.


Create linkage graph from long reads

To consider:

add a segment I'd to mappings to allow for ccs- style turnarounds that were not pre-processed. Consider what to do when turnarounds happen on unaligned regions.
add start/end positions, then extent alignment towards ends of unitigs.
is grabbing all reads on each end a way to do "skating" to get to neighbors?


Docs: Concepts and Explanations

https://app.gitbook.com/@openrewrite/s/openrewrite/rewrite-7/concepts-and-explanations
Freeform explanation of core concepts of Rewrite for people who either want to learn about rewrite to make use of existing recipes or create new ones.

[x] Recipes (Ready for Review)
[x] Visitors (Ready for Review)
[x] Environment (Ready for Review)
[x] Styles (Ready for Review)
[x] JavaTemplate (Ready for Reivew)

All of the concepts and explanations now have an entry. Most recently I created one for Markers. They are ready for review.
https://docs.openrewrite.org/v1beta/markers