npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dx-do

v3.4.3

Published

CLI execution of DX SaaS operations

Downloads

317

Readme

dx-do

Command-line execution of DX SaaS operations


Usage

:warning: using npm install for this package is highly discouraged.

npx dx-do <--config=<config-file>> command-group command <parameter>=<value>

Output

ℹ  info      dx-do v3.4.3 on node v18.19.0 on darwin-x64 via node (ssl: 3.0.12+quic)
ℹ  info      Attempting to load default config from '/Users/z/.dxdo/default-config.json'
☒  complete  Loaded configuration for THE_LABORATORY/1795
ℹ  info      Looking for mongo config in /Users/z/.dxdo/default.mongo.config
ℹ  info      Loading mongo config from /Users/z/.dxdo/default.mongo.config
ℹ  info      Mongo configuration loaded.
ℹ  info      Allow Insecure HTTPS: false
ℹ  info      Successfully configured.
✖  error     Usage: dx-do --option[=value]... <command-group> <command> <command-param>=<value>...
ℹ  info      Available command-groups: managementmodule, metricgrouping, alert, notification, universe, agent, graph, vertex, metric, channel, sql, acc, completion, dashboard, help, auth, axa, trace, shiftleft, session, config, perspective, oi, audit, ui, jsextension, experience, tas, attribute, nass

Command Groups

managementmodule

⤜ list..............................................: lists all management modules.
⤜ import............................................: imports a management module from json
⤜ create............................................: creates a management module.
⤜ export............................................: exports a management module and its metric groupings, alerts and calculators.
⤜ delete............................................: delete a management module
⤜ download..........................................: downloads a management module
⤜ update............................................: updates a management module.
⤜ copy..............................................: copy a management module.
⤜ list-calculators..................................: lists calculators in a management module

metricgrouping

⤜ list-metrics......................................: lists all live metrics in metric grouping
⤜ list-by-managementmodule..........................: lists all metric groupings in management modules.

alert

⤜ debug-by-management-module........................: debug all alerts in a management module.
⤜ list-by-management-module.........................: lists all alerts in a management module.
⤜ list..............................................: lists all alerts.
⤜ detail............................................: get alert definition
⤜ copy..............................................: copy an alert
⤜ copy-with-metric-grouping.........................: copy an alert with it's metric grouping
⤜ update-summary....................................: update a summary alert.
⤜ update-simple.....................................: update a simple alert.
⤜ disable...........................................: disable an alert.
⤜ disable-all.......................................: disable all alerts for a management module
⤜ enable............................................: enable an alert.
⤜ enable-all........................................: enable all alerts for a management module

notification

⤜ list..............................................: lists all ATC notification services

universe

⤜ delete............................................: deletes a universe
⤜ create............................................: creates a universe
⤜ list..............................................: lists all universes
⤜ detail............................................: provides detail on a single universe
⤜ export............................................: dumps a single universe json
⤜ add-metric-source.................................: adds an agent / regex to a universe definition.
⤜ sanity-check......................................: ensures universe are not set up exceptionally badly.

agent

⤜ query-by-name.....................................: ensure a specific agent exists.
⤜ query-by-regex....................................: query by regex
⤜ vertices..........................................: gets vertices for agent
⤜ attributes........................................: gets attributes for agent vertex
⤜ licensing-config-generate.........................: creates a default licensingConfigFile to be modified for licensing-beta command.
⤜ licensing-beta....................................: generate licensing report with configuration
⤜ licensing.........................................: generate licensing report
⤜ count-via-atc.....................................: count agents using the /atc/agents request.
⤜ trace.............................................: starts trace on specified agents
⤜ statuses..........................................: lists all agents statuses
⤜ metric-count-summary..............................: retrieves metric counts for agents as csv
⤜ list..............................................: lists all agents

graph

⤜ summary...........................................: summarizes vertices & edges
⤜ summary-at........................................: summarizes vertices & edges at a specific time
⤜ summarize-edges...................................: summarizes application edges
⤜ status-check......................................: summarizes vertices alerts
⤜ test-vertex-type-mapping..........................: tests vertexes for type mapping
⤜ export............................................: exports universe graph at a configurable time
⤜ store.............................................: stores vertexes and edges using the (legacy) APM interface

vertex

⤜ generate-patch-from-csv...........................: generates a bulk-patch file from a CSV
⤜ query-mapped-metrics..............................: executes metric query for a vertex's mapped metrics.
⤜ vertex-type-metric-mapping........................: dumps metric mapping for a vertex type
⤜ attribute-values..................................: gets values for an attribute
⤜ bulk-patch-schema.................................: generates the bulk-patch schema
⤜ bulk-patch-rollback...............................: rolls back a bulk-patch with a rollback file.
⤜ bulk-patch........................................: patches mutiple vertices using the bulk-patch file.
⤜ attributes........................................: list ATC attributes
⤜ search-all........................................: search for matching vertices in all universes
⤜ search............................................: search for matching vertices in a universe
⤜ patch-universe....................................: patch matching vertices in a universe
⤜ state.............................................: provides state on a single vertex
⤜ detail............................................: provides detail on a single vertex
⤜ all-metric-mappings...............................: dumps all metric mappings for all vertices
⤜ override-vertex-metric-mapping....................: dumps performance specifier and metric root for a vertex type
⤜ vertex-definitions................................: dumps all metric mappings for all vertices
⤜ vertex-definition.................................: dumps vertex definition for a single vertex type
⤜ add-vertex-definition.............................: add vertex definition from a file

metric

⤜ test-time-format..................................: allows testing of time parsing
⤜ create-metric-data-expression-file-from-metric-grouping: creates a metric data expression file for use with 'metric data' expressionFile option
⤜ create-example-metric-data-expression-file........: creates an example of a metric data expression file for use with 'metric data' expressionFile option
⤜ data..............................................: gets metric values
⤜ id................................................: gets metric id for a single metric.
⤜ data-metric.......................................: gets metric values for a single metric.
⤜ attributes........................................: gets attributes for metric (or metric's agent, if metric doesn't belong to a vertex)

channel

⤜ enable-channel....................................: enable a channel
⤜ disable-channel...................................: disable a channel
⤜ list..............................................: lists all channels
⤜ list-policies.....................................: lists all channel policies
⤜ list-templates....................................: lists all channel templates
⤜ create-template...................................: create a channel message template
⤜ update-template...................................: update an existing channel message template
⤜ export............................................: exports all channels/templates to file
⤜ import............................................: imports channels/templates from file

sql

⤜ query.............................................: executes an APM sql query
⤜ examples..........................................: shows example queries
⤜ date-to-timestamp.................................: converts dates to timestamps for use in queries

acc

⤜ initialize-bundle-directory.......................: initialize a prepared bundle directory
⤜ import-bundle.....................................: import bundle from a bundle tar.gz file
⤜ import-packages...................................: import packages from an export file
⤜ export-packages...................................: exports packages to a file
⤜ package-bundles...................................: gets package bundles
⤜ package-details...................................: gets package details
⤜ list-packages.....................................: lists acc packages
⤜ bundle-details....................................: gets bundle details
⤜ download-bundle...................................: downloads bundle
⤜ list-bundles......................................: lists acc bundles

completion

⤜ find-zsh..........................................: find zsh (mac) completion script
⤜ find-bash.........................................: find bash (v4) completion script
⤜ generate-zsh......................................: generate zsh (mac) completion script
⤜ generate-bash.....................................: generate bash (v4) completion script

dashboard

⤜ get-dashboard-refresh-options.....................: shows current dashboard refresh options
⤜ set-dashboard-refresh-options.....................: sets dashboard refresh options
⤜ set-folder-refresh-options........................: sets refresh options for all dashboards in folder
⤜ get-dashboard-tags................................: shows current dashboard tags
⤜ summarize-dashboard-tags..........................: shows a summary of all dashboards' tags.
⤜ add-dashboard-tags................................: adds tags to a dashboard
⤜ add-folder-tags...................................: adds tags to all dashboards in a folder
⤜ replace-dashboard-tags............................: replaces tags for a dashboard
⤜ replace-folder-tags...............................: replaces tags for all dashboards in a folder
⤜ get-theme.........................................: shows the current theme
⤜ set-theme.........................................: sets the current theme
⤜ dashboard-variables-list..........................: shows current values of dashboard variables
⤜ folder-import.....................................: imports a folder and its dashboards from an export file.
⤜ folder-export.....................................: exports a folder and all dashboards in it.
⤜ dashboard-list-by-folder..........................: lists dashboards in folder
⤜ dashboard-import..................................: creates a new dashboard from an export file.
⤜ dashboard-update..................................: updates a dashboard from an export file.
⤜ dashboard-export..................................: exports a single dashboard
⤜ dashboard-search..................................: finds dashboards
⤜ user-search.......................................: finds dashboard users
⤜ user-list.........................................: looks up a user by email
⤜ folder-add-permission.............................: adds folder permission for a user by email or userId
⤜ folder-permissions................................: gets permissions for a folder
⤜ folder-create.....................................: creates a folder
⤜ folder-list.......................................: show id/uid/title of all folders.
⤜ folder-details....................................: show details for folder
⤜ delete-dashboard-api-key..........................: deletes a dashboard api key
⤜ list-dashboard-api-keys...........................: lists dashboard api keys.
⤜ create-dashboard-api-key..........................: creates a grafana API key from a browser session cookie

help

⤜ bulk-patch........................................: explains vertex bulk-patch
⤜ configuration.....................................: explains configuration
⤜ time-formats......................................: explains time formats for 'metric data' and 'agent get-trace-sumaries'.
⤜ dashboard.........................................: explains dashboard command setup.
⤜ commands..........................................: explains commands.
⤜ commands-md.......................................: explains commands in md format

auth

⤜ validate-configuration-keys.......................: validates keys
⤜ user-search.......................................: searches for users
⤜ list-groups.......................................: shows all authentication group names
⤜ current...........................................: shows auth of current token

axa

⤜ list-sessions.....................................: dumps filtered AXA session events
⤜ dump-sessions-events..............................: dumps filtered AXA session events
⤜ upload-application-ba-extension...................: upload new custom AXA BrowserAgent extension javascript.
⤜ get-application-ba-extension......................: gets AXA BrowserAgent extension javascript.
⤜ get-application-snippet...........................: gets AXA BrowserAgent snippet for an application
⤜ list-profiles.....................................: lists all AXA data collection profiles
⤜ export-profile....................................: exports a AXA data collection profile
⤜ update-profile....................................: updates a AXA data collection profile
⤜ import-profile....................................: import a AXA data collection profile
⤜ get-application-profile...........................: gets the profile/id for an AXA Application
⤜ set-application-profile...........................: sets the profile by id for an AXA Application
⤜ list-applications.................................: lists all AXA application names/keys
⤜ create-application................................: creates a new AXA application definition.
⤜ delete-application................................: delete an existing AXA application.
⤜ crash-summary.....................................: summary of crashes
⤜ crash-list-by-group...............................: list crashes by group
⤜ crash-detail......................................: get details for a crash
⤜ crash-all.........................................: list all crashes
⤜ list-activities...................................: lists the business activities defined for an AXA Application
⤜ list-screens......................................: lists the screens available for business activities defined for an AXA Application
⤜ create-activity...................................: create a business activity for an AXA Application
⤜ show-activity-tree................................: shows activity tree from session events

trace

⤜ get-agent-traces..................................: retrieves traces
⤜ get-agent-trace-summaries.........................: retrieves trace summaries
⤜ get-vertex-traces.................................: retrieves traces
⤜ get-vertex-trace-summaries........................: retrieves trace summaries for vertices
⤜ trace-details.....................................: get trace details for traceId
⤜ get-threaddump....................................: retrieve a previously collected threaddump
⤜ collect-threaddump................................: trigger a trace on an agent
⤜ query-threaddumps.................................: find threaddumps for an agent

shiftleft

⤜ dump..............................................: dumps a universe for future comparison
⤜ list-dumps........................................: lists previous dumps
⤜ compare...........................................: compares two dumps
⤜ get-dump-graph....................................: gets graph for dump
⤜ bookmark-create...................................: creates a bookmark
⤜ bookmark-list.....................................: lists bookmarks

session

⤜ test..............................................: validate session api

config

⤜ debug-jwt.........................................: shows decoded jwt
⤜ debug.............................................: shows configuration details
⤜ upgrade...........................................: upgrade legacy dx-do configuration to current version
⤜ create............................................: create new configuration interactively

perspective

⤜ list..............................................: List Map View Perspectives
⤜ export............................................: Export Map View Perspective
⤜ delete............................................: Delete Map View Perspective
⤜ import............................................: Import Map View Perspective

oi

⤜ service-list......................................: lists services
⤜ situations........................................: lists situations
⤜ alarms............................................: lists alarms
⤜ alarm-detail......................................: provides alarm-detail

audit

⤜ get-audit-events..................................: retrieves audit events

ui

⤜ serve.............................................: (highly experimental) starts the ui server + browser

jsextension

⤜ upload............................................: upload a js extension file
⤜ delete............................................: delete js extension
⤜ list..............................................: list
⤜ enable............................................: enable js extension
⤜ disable...........................................: disable js extension

experience

⤜ list..............................................: lists Experience names & ids 
⤜ settings..........................................: lists Experience settings
⤜ create............................................: creates an experience
⤜ delete............................................: delete an experience carefully
⤜ mapping...........................................: shows mapping from Experience Top-Level to Settings ID
⤜ dashboard.........................................: summarizes experience dashboard
⤜ summarize.........................................: summarizes an experience
⤜ drilldown.........................................: segments an experience by layer attributes
⤜ report............................................: reports on various parts of an experience hierarchy.
⤜ export............................................: exports an experience configuration
⤜ import............................................: imports an experience configuration from file 

tas

⤜ query-all.........................................: finds everything
⤜ query-agents......................................: finds everything
⤜ query-json........................................: executes a query defined in a json file
⤜ store-graph.......................................: stores vertexes and edges

attribute

⤜ dump..............................................: dumps all attributes by layer

nass

⤜ register-metric...................................: registers metric a metric
⤜ report-metric-value...............................: reports a single metric value to a metric
⤜ query.............................................: executes a nass query from file containing nassql query json

Options

Insecure HTTPS for Non-Proxied On-Prem

You may set the ALLOW_INSECURE_HTTPS environment variable to true in order to use self-signed or expired certificates

export ALLOW_INSECURE_HTTPS=true
npx dx-do alert list

new configFile Format

{
  "configurationVersion": "3"
  "tenantCN": "<tenant-name>",
  "tenantId": "<tenant-id>",
  "tenantToken": "<tenant-token>",
  "userToken": "<user-token>",
  "hostUrl": "https://apmgw.dxi-na1.saas.broadcom.com/",
  "axaHostUrl": "https://axa.dxi-na1.saas.broadcom.com/",
  "oiHostUrl": "https://oi.dxi-na1.saas.broadcom.com/",
  "axaSessionHostUrl": "https://axaservices-es-exporter.dxi-na1.saas.broadcom.com/",
  "dashboardHostUrl": "https://dxi-dashboard.dxi-na1.saas.broadcom.com/",
}

config

--config=<configFilename>

proxyConfig

--proxyConfig=<proxyConfigFilename>

proxy config File Format

{
  "protocol": "http", // or https
  "host": "localhost",
  "port": 8888,
  "auth": {
    "username": "myuser",
    "password": "mypass"
  }
}

non interactive mode (suitable for running from a script)

--noninteractive

old configFile Format

{
    "hostUrl":"https://apmgw.dxi-na1.saas.broadcom.com/",
    "apiKey":"<APM_API_TOKEN>",
    "tenantCN":"TENANT_NAME",
    "tenantId":"000"
    "oiUserKey": "<OI_USER_TOKEN>",
    "axaHostUrl": "https://axa.dxi-na1.saas.broadcom.com/",
    "oiHostUrl": "https://oi.dxi-na1.saas.broadcom.com/",
}

deprecated commandline tenant properties

--apiKey=<token>
--tenantCN=<tenant CN>
--tenantId=<tenant number>
--caManagementCookie=<CA_CLOUD_MANAGEMENT cookieValue>

non interactive mode (suitable for running from a script)

--noninteractive