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

cpi-logs

v1.1.0

Published

CPI Exchange logging done easy

Downloads

23

Readme

CPI Logs

Welcome to cpi-logs, a web-based tool to monitor runtime artifacts deployed on SAP Cloud Platform Integration. This tool will download attachments added to log-entries in your integration flows. Combined with the correct text-editor, it will allow you to inspect your integration in more detail.

This tool was built to support analysis of integrations during build and test. But if your integration is built with this tool in mind, it could also be used in a productive environment.

Features

  • Mutliple tenant support
  • View deployed artifacts
  • Filter artifact view
  • Download log-files of a single atrifact with one click
  • Download atrifact deployment

Requirements

To be able to install and use this tool, you need to have Node.js installed, you can get it at https://nodejs.org. Node.js is a Javascript runtime library allowing javascript to run on your device outside of a browser. It comes with npm, the Node Package Manager. This tool allows you to install Node modules such as cpi-logs

Instalation

You have two installation options, either from the NPM or by cloning the github repo.

npm

Run npm install -g cpi-logs from your favorite command line

Clone repo

Clone the repository by running git clone https://github.com/ivovermeer/cpi-logs. After downloading the repo, either install it globally with npm by runnning npm install -g . in the folder the repo was downloaded to, or run npm install once and then start the app with npm start

Usage

Start the app

Start your favorite commandline program and run cpi-logs. Your browser should automatically open. If that's not the case, open your browser and go to http://localhost:3000

Initial start

When you first run the app, it will ask you to add a tenant. Fill in the information:

  • Name The name you would want to use for this tenant
  • URL The url to your tenant. You can copy the address from your browser and paste it in. The app will truncate it to the required origin
  • Log file folder A location on your computer where the log-files should be stored.
  • Username The user with which the app will log on. The app currently only support basic authentication
  • Password The password for the user. The password and username will be converted into a base64 encoded string

These settings will be saved in a file called cpi-log-settings.json in your user's home-folder. Think about this for yourself before you use this app; Anyone with access to that file ultimatly hass access to your s-user's password!

Views

Tenants

This is the main view and the view you will return to when you click the CPI Logging link at the top of th screen. Each tenant provides a link to CPI for quick access. The button Artifacts will show an overview of all deployed artifacts for that tenant.

By clicking Edit, you can edit the tenant's details and also delete the tenant from your configuration. Deleting the tenant will remove all configuration for that tenant, including the last run dates for its artifacts. Deleting all tenants effectivly initializes the configuration file.

There is a +-button to add a new tenant.

Artifacts

The artfact overview shows you all deployed artifacts sorted descending by deployment date. You can filter the artifacts by title. The refresh button will fetch the latest status of all artifacts, handy when you're waiting for a deployment to be finished. Clicking refresh will re-render all artifacts. This will probably result in a different date-format shown on screen. This is a known issue

Each artifact holds a Last run date value which is initially empty. This is the date as of which the artifact's logs will be read from CPI, the format it yyyy-MM-ddTHH:mm:ss. If the date is empty it will fetch the last 10 log entries. Due to the difference between the date format in OData $filter oparation and how CPI stores the date on each entry, it will dowload the last log you have locally again. CPI stores milliseconds on the log-entry while the OData $filter operation only goed down to the second

Click 'Refresh Logs' will fetch the attachments of all log-entries for that artifacts based on the last run date(see above). The logs will be downloaded to the folder you set in the tenant-settings screen. The location is: tenant-folder\artifact-id\entry-date-entry-id

Refreshing the logs may take some time, it depends on the size af the attachments and the speed of your internet connection, to name a few things.

The extension of each attachment will be determined by the mime-type that was set when the attachment was added in the flow. Make sure you set the mine-type correcttly (ie. text/plain, application/xml, etc) in the flow when adding attachments.

The button 'Backup' will download a zip-file of the deployed version of the artifact.

Issues / Feature request

If you find any issues, please log an issue on Github. If you have a feature request, or a suggestion to improve the app, please feel free to log an issue for that.

Contributing

If you like to contribute to the app, please feel free to fork, improve and submit a PR. I develop this app in my free time which is limited, so don't expect me to respond too fast 😁

run npm test to start the app. The browser will open automatically.

Some rules before creating a PR:

  • Make sure you're comfortable with all modules used (check package.json)
  • use a ESLint plugin in your editor
  • use a prettier plugin in your editor
  • when adding features, please check in with me before starting😊