Coder Social home page Coder Social logo

newrelic / nr1-observability-maps Goto Github PK

View Code? Open in Web Editor NEW
12.0 28.0 11.0 2.46 MB

NR1 Observability Maps allows you to create an observability map based on any of the data available in New Relic.

Home Page: https://discuss.newrelic.com/t/nr1-observability-maps-nerdpack/93091

License: Apache License 2.0

JavaScript 97.00% CSS 0.21% SCSS 2.79%
observability map apm infra rum browser service newrelic nerdpack nr1

nr1-observability-maps's Introduction

New Relic One Catalog Project header

Observability Maps (nr1-observability-maps)

CI GitHub release (latest SemVer including pre-releases) Known Vulnerabilities

Overview

Observability Maps allows you to create a view beyond a traditional service map.

Using Observability Maps you can make connections between different types of entities, not limited to services. You can also create your own connection points based on data available in New Relic.

Right click on nodes and links for further configuration options and shortcuts.

Screenshot

Dashboard Widget

You can also add this to your favorite dashboard by navigating to Apps > Custom Visualizations and selecting Observability Maps Widget.

Screenshot

Open source license

This project is distributed under the Apache 2 license.

Dependencies

Requires data in NRDB from any or all of the New Relic products.

Getting started

  1. Ensure that you have Git and NPM installed. If you're unsure whether you have one or both of them installed, run the following command. (If you have them installed these commands will return a version number, if not, the commands won't be recognized.)

    git --version
    npm -v
  2. Install the New Relic One CLI by going to this link and following the instructions (5 minutes or less) to install and set up your New Relic development environment.

  3. Run the following command to clone this repository and run the code locally against your New Relic data:

    nr1 nerdpack:clone -r https://github.com/newrelic/nr1-observability-maps.git
    cd nr1-observability-maps
    nr1 nerdpack:serve

Visit https://one.newrelic.com/?nerdpacks=local, navigate to the Nerdpack, and ✨

Deploying this Nerdpack

Open a command prompt in the Nerdpack's directory,and run the following commands.

# To create a new uuid for the nerdpack so that you can deploy it to your account:
# nr1 nerdpack:uuid -g [--profile=your_profile_name]

# To see a list of APIkeys / profiles available in your development environment:
# nr1 profiles:list

nr1 nerdpack:publish [--profile=your_profile_name]
nr1 nerdpack:deploy [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]
nr1 nerdpack:subscribe [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]

Visit https://one.newrelic.com, navigate to the Nerdpack, and more ✨

Community Support

New Relic hosts and moderates an online forum where you can interact with New Relic employees as well as other customers to get help and share best practices. Like all New Relic open source community projects, there's a related topic in the New Relic Explorers Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com/t/nr1-observability-maps-nerdpack/93091

Please do not report issues with Observability Maps to New Relic Global Technical Support. Instead, visit the Explorers Hub for troubleshooting and best-practices.

Issues / enhancement requests

Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

Security

As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals. If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.

Contributing

Contributions are welcome (and if you submit a enhancement request, expect to be invited to contribute it yourself 😁). Please review our Contributors Guide.

Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected].

nr1-observability-maps's People

Contributors

aswanson-nr avatar danielgolden avatar devfreddy avatar jbeveland27 avatar kav91 avatar khpeet avatar michellosier avatar mmfred avatar moonlight-komorebi avatar nr-mlosier avatar nr-opensource-bot avatar prototypicalpro avatar rudouglas avatar semantic-release-bot avatar snyk-bot avatar tyreer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nr1-observability-maps's Issues

Unable to install latest version

I tried installing this on Windows, but I am getting this error:

Installing dependencies…
Re-generating UUID…
x Error: Error on command: nr1 nerdpack:uuid --generate --force
--=-================

When I try with verbose option, this is what I get:

Installing dependencies…
added 394 packages in 14.123s
Re-generating UUID…
Sending usage event cliError
x Error: Error on command: nr1 nerdpack:uuid --generate --force

{ Error: spawnSync nr1 ENOENT
at Object.spawnSync (internal/child_process.js:1002:20)
at spawnSync (child_process.js:614:24)
at NerdpackCloneCommand._runChildProcessSync

-=-====================
I updated the cli and tried from another windows laptop, but I still get the same error. I was able to make this work by cloning an older commit (c32b957). I had similar issues with other Nerdpacks as well, e.g. Neon and Apdex Optimizer. I was able to make those work with older commits as well.

Support for Workloads as Nodes

Summary

The node creation dialog is oriented by entity Domain, but Workloads are not included.

Desired Behaviour

Workloads are a useful NR1 feature to abstract away complexity of some systems into black boxes. The feature fits perfectly in observability maps where we want to map how different systems connect to each other on a higher level.

Possible Solution

Probably have a Workload domain available in the dialog, so workloads may be chosen as nodes in an Observability Map.

Additional context

Database Name in Observability Maps

Summary

We need to be able to see the names of the databases on the map through a query in the main chart or as a separate connection.

Desired Behavior

Sometimes there is more than one type of databases the nodes are communicating with and we need to be able to determine to which database the traffic is going to. Therefore, we need to be able to see the database names.

Additional context

In order to have end-to-end observability

Select an account to view it in the Observability Maps Nerdpack

#Clone the previous version of NR1 - Observability Maps Nerdpack because in the new version I see a list of all my accounts and in the previous version I could only see one, but when cloning it in the old version I get this error and I would like to know how to select only One account.
image

main chart does not go away on clicking elsewhere

Description

When i click on a node, i see either the Main chart I defined or a 'No chart defined" message. neither of these goes away when i click elsewhere
NOTE: # ( Describe the problem you're encountering. )
TIP: # ( Do NOT give us access or passwords to your New Relic account or API keys! )

Steps to Reproduce

Expected Behaviour

Click on node and the associated Main chart appears but dosent go away.
NOTE: # ( Tell us what you expected to happen. )

Relevant Logs / Console output

Your Environment

  • NR1 CLI version used:
  • Browser name and version:
    Chrome
  • Operating System and version:

Additional context

Renaming of nodes crashes my map permanently

We recently had the observability nerd pack pushed to our production account in New Relic by our account managers. I started working on an observability map for our network, which is made of of insights data being pulled in via api from PRTG. The data is no problem. But I am running into bugs as I create the map.

1st attempt:
I had 4 or 5 nodes / links created with hover data, I realized that I had mixed up 2 nodes. I attempted to rename the first node, meaning that briefly there would be 2 nodes with the same name. It didn't stop me from doing this, however it immediately went to a blank page in Chrome with "Ooops something went wrong" . There are no options to undo my change, it saves immediately upon change and so I have lost access to the map.

2nd attempt:
I wasn't too far in, so I started a 2nd map, and got a bit further into it this time, but once again, when renaming a node (I did not give it a name that was in use) It immediately changed to "Oops something went wrong" and every time I try to load the map it goes to this screen, without any options to alter it. I attempted again today when getting in, and still cannot access.

I am on a Mac using OS 10 Mojave, I've tried it in both Chrome and Safari. I was working in Safari when it happened.
I have VPN / Zscaler enabled on my work PC although I don't forsee that being an issue since it was working ok up to that point.

I've let my act reps know who requested I open a ticket here. I'm including a screenshot as well as my developer code from loading the page in Chrome.

Sidenote: I had set my default map to this, and had a dickens of a time trying to load the page repeatedly and get into the settings to change it back to default quickly before the Oops loaded and no settings were accessible. Prev to that I was unable to use the tool at all, as it immediately went to the failed dashboard without any of the settings at the top being displayed.

All that said, I am VERY excited about this tool once I can trust putting more effort into it, thank you so much for creating it!

one.newrelic.com-Version 1- 1590523692647.log

one.newrelic.com-Version2 - 1590523649685.log

image

Multiple custom alert thresholds / facet ability

Currently can only assign one NRQL query to override entity-specific alerts configured. A couple proposed changes:

  • Ability to use facet in NRQL query
  • Ability to add multiple overriding queries / thresholds

Unable to zoom in/out or move the observability maps.

Description
Unable to zoom in/out or move the observability maps.

image

Steps to Reproduce
Previously, when we used to scroll the observability maps would zoom in/out and we could move the map. But now we do not see any such option.

Expected Behavior

We should be able to move the map and zoom in/out for better visibility. Now, the maps are just stuck which is a bad user experience. We could also add an on screen zoom in/out buttons to make it more feasible.

Your Environment

  • Browser name and version: Google Chrome Version 91.0.4472.77
  • Operating System and version: Windows 10 Enterprise Version 19042.985

[Repolinter] Open Source Policy Issues

Repolinter Report

πŸ€–This issue was automatically generated by repolinter-action, developed by the Open Source and Developer Advocacy team at New Relic. This issue will be automatically updated or closed when changes are pushed. If you have any problems with this tool, please feel free to open a GitHub issue or give us a ping in #help-opensource.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 2 0 11 0 13

Fail #

❌ readme-starts-with-nr1-catalog-header #

The README of a community plus project should have a NR1 Catalog header at the start of the README. If you already have a NR1 Catalog header and this rule is failing, your header may be out of date, and you should update your header with the suggested one below. For more information please visit https://opensource.newrelic.com/oss-category/. Below is a list of files or patterns that failed:

  • README.md: The first 1 lines do not contain the pattern(s): Open source NR1 Catalog header (see https://opensource.newrelic.com/oss-category).
    • πŸ”¨ Suggested Fix: prepend the latest code snippet found at https://github.com/newrelic/opensource-website/wiki/Open-Source-Category-Snippets#code-snippet-3 to file

❌ readme-contains-forum-topic #

Doesn't contain a link to the appropriate forum.newrelic.com topic (README.md). New Relic recommends directly linking the your appropriate forum.newrelic.com topic in the README, allowing developer an alternate method of getting support. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

Passed #

Click to see rules

βœ… license-file-exists #

Found file (LICENSE). New Relic requires that all open source projects have an associated license contained within the project. This license must be permissive (e.g. non-viral or copyleft), and we recommend Apache 2.0 for most use cases. For more information please visit https://docs.google.com/document/d/1vML4aY_czsY0URu2yiP3xLAKYufNrKsc7o4kjuegpDw/edit.

βœ… readme-file-exists #

Found file (README.md). New Relic requires a README file in all projects. This README should give a general overview of the project, and should point to additional resources (security, contributing, etc.) where developers and users can learn further. For more information please visit https://github.com/newrelic/open-source-tools/tree/master/javascript/oss-template.

βœ… readme-contains-security-section #

Contains a security section (README.md). New Relic recommends having a Security section in your README to address concerns such as vulnerability reporting. This security section should also contain a link to the security policy (found under the "Security" tab of the repository). For an example of this section, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… readme-contains-link-to-security-policy #

Contains a link to the security policy for this repository (README.md). New Relic recommends referencing the open source security policy (https://github.com/newrelic/<repo-name>/security/policy or ../../security/policy) in a Security section in the README. For an example of this, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… third-party-notices-file-exists #

Found file (THIRD_PARTY_NOTICES.md). A THIRD_PARTY_NOTICES.md file must be present to grant attribution to all dependencies being used by this project. For JavaScript projects, you can generate this file using the oss-cli. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… code-of-conduct-should-not-exist-here #

New Relic has moved the CODE_OF_CONDUCT file to a centralized location where it is referenced automatically by every repository in the New Relic organization. Because of this change, any other CODE_OF_CONDUCT file in a repository is now redundant and should be removed. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view. Did not find a file matching the specified patterns. All files passed this test.

βœ… github-actions-workflow-file-exists #

Found file (.github/workflows/catalog.yml). Any Community Plus project must integrate with GitHub actions. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… nr1-catalog-config-file-exists #

Found file (catalog/config.json).

βœ… nr1-catalog-screenshots-directory-exists #

Found file (catalog/screenshots).

βœ… nr1-catalog-documentation-file-exists #

Found file (catalog/documentation.md).

βœ… package-scripts-present #

An eslint-check and eslint-fix npm script found in file (package.json). NPM scripts for ESLint (eslint-check and eslint-fix) are required to properly integrate with the nerdpack system.

Edit experience right click is rendering an error

Description

See the feedback in the Explorers Hub here. Per the message:

Steps to Reproduce

If I add some services and try to edit one of the links I can right click on the link after a few attempts and get a context menu with one item named edit. If I chose edit the screen blanks with an Ooops.

Expected Behaviour

Not crashing. Allow an edit.

Your Environment

v. 0.6.6

Observability maps - Bugs

Hower attributes are not fetching with names.
Not able to attached/search all Dashboards( Can scroll only up to specific alphabet).
Custom icon images are broken when using it from google.

Relevant Logs / Console output

Attached Screenshots.

Your Environment

NonProd

  • NR1 CLI version used: NA
  • Browser name and version: NA
  • Operating System and version: NA

Case # 00205933

[Repolinter] Open Source Policy Issues

Repolinter Report

πŸ€–This issue was automatically generated by repolinter-action, developed by the Open Source and Developer Advocacy team at New Relic. This issue will be automatically updated or closed when changes are pushed. If you have any problems with this tool, please feel free to open a GitHub issue or give us a ping in #help-opensource.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 3 0 9 0 12

Fail #

❌ readme-starts-with-nr1-catalog-header #

The README of a community plus project should have a NR1 Catalog header at the start of the README. If you already have a NR1 Catalog header and this rule is failing, your header may be out of date. For more information please visit https://opensource.newrelic.com/oss-category/. Below is a list of files or patterns that failed:

  • README.md: The first 1 lines do not contain the pattern(s): Open source NR1 Catalog header (see https://opensource.newrelic.com/oss-category).
    • πŸ”¨ Suggested Fix: prepend [![New Relic One Catalog Project header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/New_Relic_One_Catalog_Project.png)](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-project) to file

❌ readme-contains-security-section #

Doesn't contain a security section (README.md). New Relic recommends having a Security section in your README to address concerns such as vulnerability reporting. This security section should also contain a link to the security policy (found under the "Security" tab of the repository). For an example of this section, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

❌ readme-contains-link-to-security-policy #

Doesn't contain a link to the security policy for this repository (README.md). New Relic recommends referencing the open source security policy (https://github.com/newrelic/<repo-name>/security/policy or ../../security/policy) in a Security section in the README. For an example of this, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

Passed #

Click to see rules

βœ… license-file-exists #

Found file (LICENSE). New Relic requires that all open source projects have an associated license contained within the project. This license must be permissive (e.g. non-viral or copyleft), and we recommend Apache 2.0 for most use cases. For more information please visit https://docs.google.com/document/d/1vML4aY_czsY0URu2yiP3xLAKYufNrKsc7o4kjuegpDw/edit.

βœ… readme-file-exists #

Found file (README.md). New Relic requires a README file in all projects. This README should give a general overview of the project, and should point to additional resources (security, contributing, etc.) where developers and users can learn further. For more information please visit https://github.com/newrelic/open-source-tools/tree/master/javascript/oss-template.

βœ… readme-contains-discuss-topic #

Contains a link to the appropriate discuss.newrelic.com topic (README.md). New Relic recommends directly linking the your appropriate discuss.newrelic.com topic in the README, allowing developer an alternate method of getting support. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… third-party-notices-file-exists #

Found file (THIRD_PARTY_NOTICES.md). A THIRD_PARTY_NOTICES.md file must be present to grant attribution to all dependencies being used by this project. For JavaScript projects, you can generate this file using the oss-cli. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… github-actions-workflow-file-exists #

Found file (.github/workflows/pr.yml). Any Community Plus project must integrate with GitHub actions. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… nr1-catalog-config-file-exists #

Found file (catalog/config.json).

βœ… nr1-catalog-screenshots-directory-exists #

Found file (catalog/screenshots).

βœ… nr1-catalog-documentation-file-exists #

Found file (catalog/documentation.md).

βœ… package-scripts-present #

An eslint-check and eslint-fix npm script found in file (package.json). NPM scripts for ESLint (eslint-check and eslint-fix) are required to properly integrate with the nerdpack system.

Issue with "View Violation" button routing to invalid URL

I am using the most recent version of the observability maps as far as I can tell.
I am using Chrome as my browser on Windows 10.

When I click on Timeline and then "View Violation" I get this as the URL that I am being sent to for every single violation "https://60c04cc2...g0.nr-ext.net/null" (I got rid of some of it for security concerns).

This is what I get when the website loads:
image

I don't believe this is what should happen when you click on the "view violation" button in timeline.
Please help and let me know if you need any further information! Thanks!

chore: update package-lock.json

The version in the package-lock.json should match up to what's in the package.json (currently 0.4.7).

Should just need to run npm install.

package-lock.json:

"version": "0.4.6",

package.json:

"version": "0.4.7",

Might need to modify semantic-release-bot so it updates package-lock.json appropriately.

parameterize dashboards linked to application(APM) nodes

Summary

Often, the dashboards we woul like to link to the nodes are pretty similar. would it be possible to parameterize the calls to the dashboards so that similar metrics are displayed for the various various applications instead of having to create them manually for each application node?
NOTE: # ( Provide a brief overview of what the new feature is all about. )

Desired Behaviour

when i click on various (similar) application nodes in the observability dashboard, newrelic should bring up similar dashboards for different services instead of having to create a separate dashboard for each application manually
NOTE: # ( Tell us how the new feature should work. Be specific. )
TIP: # ( Do NOT give us access or passwords to your New Relic account or API keys! )

Possible Solution

Additional context

Warning: nerdpack:clone is not a nr1 command.

Hi team

My CLI says Warning: nerdpack:clone is not a nr1 command. and nr1 --version shows @datanerd/nr1/0.3.0-beta.3.b20d65e win32-x64 node-v10.16.3

Just wondering how I could proceed from here, thanks.

Entities disappear from observability map when unchecked

Description

I have many entities that are connected in the observability map. I was playing around with the observability map the other day when I unchecked a connection from a browser connection to an APM that had other connections to nodes on the map and the unchecked node was completely removed.
Basically:
| -----> O (2)
|
O (1) --> O (3)

I unchecked 1 in the menu of connected entities from 2. 1 is also connected to 3 so it has data being sent somewhere else. Regardless, when 1 was unchecked, it was removed from the map entirely.

Steps to Reproduce

In the example, 1 was a browser application and 3 was a custom node that is only there for visuals. 2 is an APM node that had a connection with 1 too. Uncheck 1 from the connected entities menu of 2.

Expected Behaviour

Node 1 should not be removed from the map when unchecked. Regardless if it has connections that are sending or receiving data, it shouldn't be removed from the map in the event it is unchecked from the "connected entities" menu.

Your Environment

Browser name and version: Google Chrome Version 89.0.4389.72
Operating System and version: Windows 10 Enterprise Version 1909

Nodes not staying in saved position

Description


When the map is reloaded (as in the website is completed reloaded) the nodes either move back to the positions they were originally in when created or they are moved to a random location on the map.
I have seen both behaviors happen with entity nodes but I was unable to recreate this issue with custom nodes. The issue also only seems to happen with large amounts of nodes.

Steps to Reproduce


In the export below, to recreate my issue, take a few of the nodes and move them far away from their current position. Wait a few seconds to ensure that all the locations have been saved. Reload the webpage.
The arrows and order is all nonsense to recreate the issue without sensitive data.

Below is the export of the data in .txt.
nodebreak_export.txt

Expected Behaviour


The expected behavior is that nodes stay saved in the position they were moved to after getting the notification that their location has been saved.

Relevant Logs / Console output


Export of data in a .txt
nodebreak_export.txt

Your Environment


NR1 CLI version used: (not used)
Browser name and version: Google Chrome 85
Operating System and version: Windows 10 Enterprise version 1809

Here are some screenshots to better understand it (look at the two green nodes that are very high):
Before reloading the page:
before_obsmap

After reloading the page:
after_obsmap

Observability Maps - Enhancements

Summary

For data related to logs/metric/Azure metrics not available in the dropdown options. Hence need to use as custom node.
SAP is not in correct mapped to observability map. Hence need to use as custom node.
Existing entity name(Eg : synthetic monitors) can't be modified for entity types.

We do not see the relevant data for logs/metric/Azure/SAP showing up in Observability maps under entity .
And also regarding entity names for all the listed entities , unable to modify the name and it appears same name as it is available under monitor name.

Case #00205933

Upgrade the project meta data to support new catalog commands

Add metadata to the repository that matches the example laid out here.

  • Add a config.json file to a catalog directory in the repo root, matching this format.
  • Move the /screenshots directory into catalog:
    • Update the screenshot file names (to match this format)
    • Update the screenshot links in the README.md.
  • Add a documentation.md file to a catalog directory in the repo root, matching this format.
  • (Optional) If there's additional documentation referenced in the repo, add a additionalInfo.md file to a catalog directory in the repo root, matching this format.
  • Update the relative paths in documentation.md to be absolute paths
  • Add the new header image to the top of README.md and catalog/documentation.md.
  • Ensure the README.md commands section matches Justin's snippet.
  • Run npm start and let the CLI move the nr1.json
    • Edit that file to make sure the name and description make.

NR Observability Maps automatic plot & update

Summary

I discovered the NR Observability maps, which make connections between different types of entities, not limited to services.
This is an option beyond NR service maps. But observability maps could be automatically plot, and automatically updated, like NR service maps.

Desired Behaviour

Using service maps, it is possible to automatically draw an architecture diagram of the different environments, the links between services, based on distributed tracing.
But we also know that NR service maps are limited in the entities that can be included in the architecture diagram, which is why observability maps exist.
Observability maps allow entities to be added to the diagram that goes beyond services. The problem with observability maps is that they do not allow automatic tracing, like services maps (with distributed tracing).

So by the end of this ticket, observability should allow for automatic tracing and updating of system architecture diagrams monitored by new relic, all this in real-time.

Additional context

It is important for us to have this possibility because we have a large infrastructure, and if we have a real-time diagram of all our systems, it will be easier to investigate where is the source of the problem when errors occured, and act in time to solve it.

Fetch dashboards does not return all dashboards

Description

When I try to configure which dashboard to associate with a node I can fetch the dashboards of a given account but it does not return all dashboards available. They are ordered alphabetically. When I search it will only search the ones that were retrieve by the entitySearch query which may be limiting the data.

Steps to Reproduce

In my account 835 dashboards are fetched but there are a lot more than this number than there's no way to retrieve currently which means I'm stuck.

Expected Behaviour

All dashboards all loaded or, if not possible, the "Fetch Dashboards" button could fetch only the ones that match the filter introduced.

Relevant Logs / Console output

Your Environment

  • NR1 CLI version used:
  • Browser name and version:
  • Operating System and version:

Additional context

Implement entity clean up with pin mechanism

Summary

Users can leave old non reporting entities on the map and these may genuinely have been removed for some reason.
These entities then get re-queried unnecessarily and are not removed. This is because its common for users to have low traffic periods, or services temporarily going offline.

A pin/do not remove mechanism will also be needed to not remove entities users would like to keep.

Possible Solution

Implement:

  • Non reporting entity clean up
  • Pin/do not remove node

Add text headings and annotations to Observability maps

Summary

Add Text labels to allow for headings and annotations in the observability maps

Desired Behaviour

Create a text field item that we can drag onto the map to add headings and annotations
NOTE: # ( Tell us how the new feature should work. Be specific. )
TIP: # ( Do NOT give us access or passwords to your New Relic account or API keys! )

Possible Solution

Additional context

Deployments showing empty list when app entities have recorded deployments

Description

In a few cases we've seen an empty deployment list within the map. The apps are confirmed as having deployments (see image).
o-m-deployment-issue

Steps to Reproduce

Map with apps in which deployments have been recorded.

Additional context

We haven't validated this thoroughly - need to understand if the time picker will influence the deployment observed - that might be the usability root cause.

Permssion control of observability maps dashboards

Summary

Currently, anyone in the same account can modify an observability map. This may not be desirable, especially in large accounts

Desired Behaviour

Add access control to the observability maps app so that only the creator and (say) admins can change a map.

Possible Solution

Add an 'export as dashboard' feature to export the map as a dashboard and have it governed by the typical access rules for all dashboards
NOTE: # ( Not required. Suggest how to implement the addition or change. )

Additional context

Error Screen if the connected entities screen is open for too long

When you click on "view connected entities" and then leave that screen open in a tab in the foreground or background, if it is left open for too long then it gives an error screen as seen below.
In the error box it says "TypeError: Cannot read property 'filter' of undefined"
I redacted much of the screenshot due to security concerns as this is from an observability map used with the organization I am working at.
image-2021-03-02-12-10-32-888-FINAL

Steps to Reproduce

It seems like this happens from just keeping the observability maps open. Open up the "connected entities" of a node and then leave it there for an extended period of time.

Expected Behaviour

It should keep the connected entities open with the observability map to the left. There should be no reason that there should be an error as it is just viewing connected entities. The connections aren't changing in the backend either.

Relevant Logs / Console output

In the error box: "TypeError: Cannot read property 'filter' of undefined"

Your Environment

  • Browser name and version: Google Chrome Version 89.0.4389.72
  • Operating System and version: Windows 10 Enterprise Version 1909

Nodes are bounced back when they are dragged around

Description

Nodes are bounced back when they are dragged around.
Also after the change eventually succeeds, sometimes the destination is not the desired location where the node is dragged to.

Steps to Reproduce

  1. Simulate a slow network
  2. Drag any nodes on a map

Expected Behaviour

Nodes should be following the cursor.

Relevant Logs / Console output

N/A

Your Environment

  • NR1 CLI version used: Observability maps v0.10.0
  • Browser name and version: Chrome, latest
  • Operating System and version: macOS big sur

Additional context

In older versions of observability maps, the position change happens right after mouse left button is released, however, at the moment, it does not happen until the network communication finishes, which creates a weird situation that the nodes are bouncing back constantly.

What makes it un-usable is that now users can not drag and drop smoothly if their network is slow. They are forced to wait until each change finishes, to get a view where next node should be dragged to, and is big time waster.

[Repolinter] Open Source Policy Issues

Repolinter Report

πŸ€–This issue was automatically generated by repolinter-action, developed by the Open Source and Developer Advocacy team at New Relic. This issue will be automatically updated or closed when changes are pushed. If you have any problems with this tool, please feel free to open a GitHub issue or give us a ping in #help-opensource.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 1 0 12 0 13

Fail #

❌ code-of-conduct-should-not-exist-here #

New Relic has moved the CODE_OF_CONDUCT file to a centralized location where it is referenced automatically by every repository in the New Relic organization. Because of this change, any other CODE_OF_CONDUCT file in a repository is now redundant and should be removed. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view. Found files. Below is a list of files or patterns that failed:

  • CODE_OF_CONDUCT.md
    • πŸ”¨ Suggested Fix: Remove file

Passed #

Click to see rules

βœ… license-file-exists #

Found file (LICENSE). New Relic requires that all open source projects have an associated license contained within the project. This license must be permissive (e.g. non-viral or copyleft), and we recommend Apache 2.0 for most use cases. For more information please visit https://docs.google.com/document/d/1vML4aY_czsY0URu2yiP3xLAKYufNrKsc7o4kjuegpDw/edit.

βœ… readme-file-exists #

Found file (README.md). New Relic requires a README file in all projects. This README should give a general overview of the project, and should point to additional resources (security, contributing, etc.) where developers and users can learn further. For more information please visit https://github.com/newrelic/open-source-tools/tree/master/javascript/oss-template.

βœ… readme-starts-with-nr1-catalog-header #

The first 1 lines contain all of the requested patterns. (README.md). The README of a community plus project should have a NR1 Catalog header at the start of the README. If you already have a NR1 Catalog header and this rule is failing, your header may be out of date, and you should update your header with the suggested one below. For more information please visit https://opensource.newrelic.com/oss-category/.

βœ… readme-contains-security-section #

Contains a security section (README.md). New Relic recommends having a Security section in your README to address concerns such as vulnerability reporting. This security section should also contain a link to the security policy (found under the "Security" tab of the repository). For an example of this section, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… readme-contains-link-to-security-policy #

Contains a link to the security policy for this repository (README.md). New Relic recommends referencing the open source security policy (https://github.com/newrelic/<repo-name>/security/policy or ../../security/policy) in a Security section in the README. For an example of this, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… readme-contains-discuss-topic #

Contains a link to the appropriate discuss.newrelic.com topic (README.md). New Relic recommends directly linking the your appropriate discuss.newrelic.com topic in the README, allowing developer an alternate method of getting support. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… third-party-notices-file-exists #

Found file (THIRD_PARTY_NOTICES.md). A THIRD_PARTY_NOTICES.md file must be present to grant attribution to all dependencies being used by this project. For JavaScript projects, you can generate this file using the oss-cli. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… github-actions-workflow-file-exists #

Found file (.github/workflows/catalog.yml). Any Community Plus project must integrate with GitHub actions. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… nr1-catalog-config-file-exists #

Found file (catalog/config.json).

βœ… nr1-catalog-screenshots-directory-exists #

Found file (catalog/screenshots).

βœ… nr1-catalog-documentation-file-exists #

Found file (catalog/documentation.md).

βœ… package-scripts-present #

An eslint-check and eslint-fix npm script found in file (package.json). NPM scripts for ESLint (eslint-check and eslint-fix) are required to properly integrate with the nerdpack system.

Traffic between nodes

Summary

We need to see traffic between any 2 nodes on the links, on the Observability Map.

Desired Behaviour

We would like to be able to create queries that would show traffic attributes (throughput, average response time, etc) between the nodes, to be able to determine at first glance if there is traffic first of all, and if there is any abnormal application behavior.

In case of traffic to databases, we would need to know to which database (database name) the traffic is flowing to (if there are 2 or more JDBC, or MSSQL etc databases)

Additional context

We are transitioning from AppDynamics to New Relic and we have a lot of requests from application teams for a similar Service/Observability Map to the one in AppD. The map is very important to them, for an easier overview of the environment.

Add core open-source template files

Currently missing .releaserc., .github/*, and .circleci.

Will need to review the CI/CD pipeline for potentially moving to GitHub Actions.

group a set of nodes (for related services/applications) into one node on the map to make it less crowded

Summary

Would it be possible for a set of nodes (for related services/applications) into one node on the map to make it less crowded.
This would be almost like a application-group and clicking on it could even open up a new tab with the distribute trace map for those applications.
NOTE: # ( Provide a brief overview of what the new feature is all about. )

Desired Behaviour

Provide an "application -group node" that opens up a new tab in the browser to a dashboard for that set of applications. right clicking on that node should also allow us to pull up a dashboard for that application-group
NOTE: # ( Tell us how the new feature should work. Be specific. )
TIP: # ( Do NOT give us access or passwords to your New Relic account or API keys! )

Possible Solution

Additional context

Clone on m1 mac

Hi I am running macos on m1:
ProductName: macOS
ProductVersion: 12.6.3
BuildVersion: 21G419

nr1 --version
@datanerd/nr1/2.83.5 darwin-x64 node-v16.11.1

I am trying to clone this project but have the following error:

nr1 nerdpack:clone -r https://github.com/newrelic/nr1-observability-maps.git
Sending usage event cliError
β€Ί Error: Cannot destructure property 'path' of 'flags' as it is undefined.
β€Ί Code: UNKNOWN

How can I fix the error?

Map scoping per Account or User

Provide map storage/retrieval options similar to dashboards:

  • "Private to just me" -> UserStorage
  • "Available to all" -> AccountStorage

Potential bug/limitation with the add connected service features

Description

See the feedback in the Explorers Hub here. Per the message:

Steps to Reproduce

In one account we have some apps that roll up to a second APM app. If I add a single service to a new map and the right click on that node and add connected services I get this roll up app as a node along with many others. They all have links. Now if I go to remove the roll up node (because its not a real app) it is removed and all the links from other services are also removed. I have tried deleting the node from the map and also from the menu item and both ways removes the links between services. Net result is for the 50+ apps that roll up to a single app I cannot use the add connected services feature and that takes all the fun out of magically creating a map

Expected Behaviour

Being able to remove upper-level node without losing the links between services.

Your Environment

v. 0.6.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.