Git Product home page Git Product logo

fluig-monitor's Introduction

💭 About Me

I'm a full stack developer with extensive knowledge of JavaScript, Node.js, React.js and TypeScript, with an emphasis on developing business processes and Maven based modules for the TOTVS Fluig platform.

My professional journey is driven by the constant search for innovation and technical excellence. Over the years, I have developed robust and efficient solutions, standing out in the web and mobile development scenario. My skills cover the complete development cycle, from conception to implementation, ensuring exceptional results.

In addition to my core focus on JavaScript and its ecosystem, I have expertise in Git, SQL Server, Java, Python and AdvPL, expanding my skillset to offer comprehensive and effective solutions.

Throughout my career, I have gained a solid foundation and honed my ability to translate complex challenges into simple, intuitive solutions.

My goal is to continue growing as a professional and add value to dynamic teams in challenging environments.

💻 My Tech Stack

Languagues

javascript logo typescript logo python logo java logo

Frameworks

react logo angularjs logo electron logo nodejs logo express logo jest logo spring logo

Tools

azure logo googlecloud logo docker logo figma logo blender logo jira logo

Databases

microsoftsqlserver logo mysql logo mongodb logo firebase logo sqlite logo

📊 GitHub Stats

stats graph streak graph

fluig-monitor's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

fluig-monitor's Issues

Implement Kiosk Mode

This feature, currently called "Kiosk Mode", should enable the app to automatically switch between environment views, to allow monitoring when the app is used on a dedicated screen.

Implement the Detailed Memory view

The aplication should show a detailed perspective on the detailed memory statistics provided by the monitor API, specifically from the following fields:

  • memoryHeap
  • nonMemoryHeap
  • detailedMemory
  • systemHeapMaxSize
  • systemHeapSize.

Persistent app notifications feature

This feature should make possible to view notifications persisted to the database, using the currently placed icon on the navbar.

Would also be a good Idea to create a single notifications controller for all notifications type (in app, toast, persistent).

Implement the Artifacts view

The aplication should show a list displaying all the artifacts currently deployed to the plataform, provided by the monitor API, specifically from the following fields:

  • artifactsApps
  • artifactsCore
  • artifactsSystem

Implement an app settings panel

The app currently does not have a settings panel, which itself is base feature needed to allow custom user configuration for the app, such as, but not limited to:

  • App logs visualization, cleaning and rotation configurations.
  • Extended dark mode configuration.
  • Extended language configuration.
  • Kiosk mode timing configuration (#15).
  • Update manager (#14).

And many other features to come.

It may be a good idea to implement the setting panel as a new window, instead of an app component rendered by the main router.

Check oAuth user permissions before creating or editing an environment

The app should check if the provided oAuth user has permission on the following endpoints used to collect environment statistics:

  • /monitoring/api/v1/statistics/report
  • /monitoring/api/v1/monitors/report
  • /license/api/v1/licenses

This will prevent data not being collected during sync.

The app also should not let the user add or edit an environment if the provided oAuth user does not have the necessary permissions.

Implement the Insights view

The aplication should show insights about the server availability, such as uptime, days with downtime, response average and other possible insights.

Log file management feature

Implement a log file management section under the settings panel, to view the last log messages, total log dir size, and clean the previous log files (manually or scheduled).

Update dashboard components render strategy.

The purpose of this update is to improve the loading experience of panel components by utilizing environment IDs as references, rather than passing data through layer components. Dashboard (or layout) components will now serve solely as a layout for data components, allowing them to render asynchronously with their own loading states. With these changes, major components can be reused all across the app.

Dev app does not run / build on Linux

When executing the app in development mode or packaging the production build on a Linux distro, there are many "cannot find module" error messages.
These messages does not appear on a Windows environment.

.env-example not found

Ola Luiz, tudo bem?

Estou tentando testar, porém o prisma está acusando falta do database url.

Pelo que vi ele está buscando a informação de um .env mas não encontrei o modelo de exemplo.

Também não readme não encontrei informação de como configurar e se é necessário um banco de dados instalado para rodar a aplicação.

Add sync time indicators to major components.

The idea is to develop a component that would display the last synchronization time of the major components, giving users a better understanding of the freshness of the data being displayed.

Implement the Runtime Stats view

The aplication should show insights on the runtime stats provided by the monitor API, specifically from the following fields:

  • runtimeUptime
  • threadingCount
  • threadingPeakCount
  • threadingDaemonCount
  • threadingTotalStarted

Migrate to a structured database schema

Implement the use of a ORM tool like Prisma to implement a structured database, instead of using local json files.
This feature should use SQLite for now, but should provide an easy abstraction layer to connect to other databases for a better long term data archival.

Log file is not rotated when the app is running

Since 0.2, the app only rotates the log file when it's started.
The app log file should be rotated daily, but since there are no triggers for the custom file rotation mechanism during the app execution, the app does not rotate it's log file.

Since the default rotation mechanism from the electron-log library has been manually disabled, a custom rotation mechanism that should be triggered daily must be implemented.

Ferramenta não busca dados

Bom dia,

Estou tentando utilizar a ferramenta e instalei seguindo o passo a passo utilizando Yarn, ao abrir a aplicação fui recebido com um erro que aparentemente não impacta no funcionamento, foi algo relacionado a renderer, porém quando tento criar um ambiente e clico em testar conexão ele retorna falando que não conseguiu conectar e pede que eu verifique a URL, utilizando o dev-tools pude ver que ele dispara dois pings, um com sucesso e outro com falha:
image

sendo assim ignorei a falha do primeiro ping e salvei o ambiente, chegando na pagina "principal" ele consta que o ambiente está online e fica disparando pings mostrando o tempo de resposta porém ele não puxa nenhum dado do fluig, fica apenas disparando pings:
electron_s8w86qywID

Coloquei para puxar de 15 em 15 minutos e mesmo após esperar vários intervalos nada aparece, nenhum erro no console e nada nas requisições.

Algo que fiz de errado ou esqueci de fazer durante o processo de instalação ou é problema da versão atual?

Visualização de múltiplas instâncias

Possuo vários clientes que utilizam o fluig em load balance e seria maravilhoso poder monitorar os nós do balanceamento além só do servidor principal (o que respondeu a API do monitor).

Alter environment availability check strategy (Use ping API)

Use the endpoint <server_url>/api/servlet/ping to measure server availability on shorter time periods (suggested: 15s to 2m).
Alter the main graph component to view the availability results from the ping API.
Use the remaining APIs as stats scraping on bigger intervals (suggested: 15m to 24h). Use separated sync schedule for each API.

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.