SlideShare a Scribd company logo
INTO THE BOX 2024
BLUE ROOM
PRESENTED BY
Charlie Arehart
Demonstrating Monitoring Solutions
for CF and Lucee (and BoxLang!)
Charlie Arehart (CArehart.org, @carehart)
“Wha’ happened?”
o Nearly all of us face challenges at some time with CF, Lucee, etc. whether on:
o Our dev environment (whether running on commandbox or not), or
o a server, or a cluster of servers, or
o vm’s, or
o containers, etc.
o Regardless of platform or architecture, this can be challenging
o Is the problem at the OS level? Or some component (cpu, memory, disk, network)
o Is it in CF or Lucee? Some setting? Our code? A bug?
o Is it about our traffic? Whether expected or not, unusual or not?
Charlie Arehart (CArehart.org, @carehart)
We need SOMETHING to observe
o There are a range of alternatives to watch what’s going on
o At each of those levels
o Whether built-in or as can be added (some free, some paid)
o My 2021 ITB preso covered those in more detail
o What the options are, which are included/how to add them, considerations
o Common causes of problems, more
o In this talk, I just want to demonstrate many of the alternatives
o You can go view the other preso for the details (nearly all are unchanged)
o carehart.org/presentations/#mon_consider

Recommended for you

Java 8 - Lambdas and much more
Java 8 - Lambdas and much moreJava 8 - Lambdas and much more
Java 8 - Lambdas and much more

The presentation introduces several new features in Java 8 including lambdas, default methods, streams API, and method references. Lambdas allow for anonymous functions and simplify implementing interfaces with single methods. Default methods allow interfaces to define implementations while maintaining backwards compatibility. The streams API provides a functional-style way to process collections through filtering, mapping, matching, and reducing operations. Method references allow referring to methods without anonymous classes.

java lambda stream
Kiwipycon command line
Kiwipycon command lineKiwipycon command line
Kiwipycon command line

Linaro aims to improve Linux support for ARM processors. They created LAVA (Linaro Automated Validation) to automate testing of new kernels on ARM hardware. LAVA needs a way to trigger test runs when kernel builds finish. Linaro implemented an XML-RPC API with HTTPS and token-based authentication to securely allow remote triggering of test runs. They open sourced the server and client code to make it easy for others to add authenticated XML-RPC to projects.

kiwipyconlinarokiwipycon2011
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009

- Android applications are composed of components that can span multiple processes and tasks. Components have managed lifecycles as they transition between states like active, paused, and stopped. - Inter-process communication (IPC) allows components in different processes to share data. The Android Binder system provides efficient IPC using parcelables and bundles to pass data across processes. - Activities represent screens or views within an application. Tasks group related activities that maintain a back stack. By default each application runs in its own process but additional processes can be used to isolate components from one another.

frameworkandroidjava
Charlie Arehart (CArehart.org, @carehart)
Me.about()
o I focus on CF/Lucee server troubleshooting, as an independent consultant
o Assist organizations of all sizes, experience levels
o Work remotely: safe, secure, easy via shared desktop (zoom, meet, teams, etc.)
o Solve most problems in less than an hour, teaching you also as we go
o Satisfaction guaranteed
o More on rates, approach, online calendar, etc at carehart.org/consulting
o But to be clear, I’m not selling anything in this session! 
o Just sharing my experience, and that of others
o Presentation online at carehart.org/presentations
Charlie Arehart (CArehart.org, @carehart)
Topics
o CF/Lucee monitoring features
o Simple things built-in
o Alternative monitoring tools
o Java monitoring features
o Java command line tools, Ui’s, and more (built-in or freely added)
o Alternative monitoring tools (APM’s)
o OS monitoring features
o Simple—and more capable—built-in tools
o Alternative monitoring tools
o Other monitoring tools to consider
Charlie Arehart (CArehart.org, @carehart)
A comment…
o Different people may view some tools/features here as being for:
o Troubleshooting
o Debugging
o Observability (o11y)
o Keep this point in mind when searching for info on them
o One person’s “debugging” is another’s “troubleshooting”
o And one person’s “monitoring” is another’s “observability”
o In this talk, I’m not going to dwell on the distinctions
o And not covering step debugging at all (deserves its own talk)
Charlie Arehart (CArehart.org, @carehart)
I’ll default showing most of my demos…
o …in Windows
o I know the Mac and Linux folks will grumble
o But you’re used to translating or finding things
o Indeed many things you find are WRITTEN more for *nix folks
o Windows folks often are left feeling like this:
o https://www.youtube.com/embed/TSse5b3wDe4

Recommended for you

Os4 2
Os4 2Os4 2
Os4 2

The document discusses the implementation of processes and threads in an operating system kernel. It covers topics like process control blocks (PCBs) that store process state and metadata, data structures like queues that the kernel uses to manage processes and threads, and how the kernel implements key operations on processes and threads like creation, suspension, activation, and destruction through manipulating the PCBs. It also discusses implementing synchronization mechanisms like semaphores using primitives like test-and-set instructions.

Write a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdfWrite a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdf

Write a program in C or C++ which simulates CPU scheduling in an operating system. There is only one CPU. The scheduling algorithm you will implement is FCFS. You can implement Round Robin for extra credits. You are suggested but not required to use standard template library data structures such as vector and deque. This program is lengthier than previous assignments. Please allocate sufficient time. Assumptions: (a) We will assume the processes engage in CPU bursts, Input bursts and Output bursts, ignoring other interrupts. (b) We will assume that all processes are doing Input through the same device which can process one Input burst at a time. (b) We will assume that all processes are doing Output through the same device which can process one Output burst at a time. (c) We will assume the system starts out with no processes active. There may be processes ready to start at once. Data structures: You will need a struct or class to represent one process. The program requires 4 queues: Entry, Ready, Input and Output. You can use deque for the queues (unless you prefer to write your own implementation of queue). The items stored on the queues are pointers to processes. You can think of Entry queue as the queue where the processes reside (e.g. on disk swap space) before they are loaded into memory. You can also have variables Active, IActive and OActive (pointers to processes), which points to the active processes on the CPU, the input device and the output device, respectively. Constants: You can declare the following constants: MAX_TIME is an integer = length of the whole run. Use the value 500. IN_USE is an integer = maximum number of processes that can be in play at once (that is, Active/IOActive processes if any, plus those that are in Ready/IO queues). Use the value 5. 2 HOW_OFTEN is an integer indicating how often to reprint the state of the system. Use the value 25. You may declare some other optional constants. They are not necessary if you choose to use STL: QUEUE_SIZE is an integer guaranteed larger than the maximum number of items any queue will ever hold. Use the value 20. ARRAY_SIZE is an integer = size of the array to define in a process. It is the maximum number of bursts for a process. Use the value 10. Feel free to add more constants as you see fit. The process data structure: A process needs to contain (at least) the following data: ProcessName is the name of the process, a string. ProcessID is an integer, the ID number for the process. This is assigned by the system (i.e., your program). Use consecutive values such as 101, 102, 103, etc. History is an array or vector of pairs of the form (letter, value). They are from the supplied input file, described below. Sub is a subscript into the array/vector History CPUTimer counts clock ticks for the process until it reaches the end of the CPU burst for FCFS (or end of the quantum for RR). IOTimer counts clock ticks for the process until it reaches the end of the I/O burst. You need t.

Os
OsOs
Os

The document discusses operating systems and processes. It defines an operating system as software that controls hardware and manages resources. A process is a program in execution that has a unique ID and state. Processes go through various states like running, ready, blocked/waiting, and terminated. Threads are lightweight processes that can be scheduled independently and share resources within a process. User-level threads are managed in libraries while kernel-level threads are managed by the operating system kernel.

Charlie Arehart (CArehart.org, @carehart)
Questions we should be able to answer
o Is CF/Lucee/boxlang running?
o What are key resource usage metrics (cpu, memory, etc.)?
o How many requests are running/have recently run?
o What are their key characteristics?
o Are any hung? Slow? WHY?
o Same with respect to queries, cfhttp calls, etc.
o Are errors happening? At what rate? Why happening?
o And more
Charlie Arehart (CArehart.org, @carehart)
Simple things built-into CF/Lucee
o Lucee and CF both offer logs of course
o CF offers a metrics.log, if enabled
o And both offer request debug output (as enabled in CF or Lucee Admin)
o Better than nothing, but not suited to production (or viewing requests of others)
o Lucee Admin shows a bit of monitoring
o Heap use within Lucee instance
o Cpu within Lucee instance
o Count of requests (running and queued), threads
o Counts of memory scopes used
o Count of datasource connections
o Demo…
Charlie Arehart (CArehart.org, @carehart)
Simple things built-into CF/Lucee (cont.)
o Consider also:
o getmetricdata() function (CF and Lucee)
o cfstat cli script in CF (cfusion/bin directory)
o Lucee getmemoryusage() function, about JVM heap memory
o Also Lucee get*memory() functions, about system memory
o CF outputs metrics to Windows Performance Monitor
o Of course, these work with CF/Lucee however they are deployed
Charlie Arehart (CArehart.org, @carehart)
Extending CF/Lucee for monitoring
o Lucee Performance Analyzer extension (github.com/zspitzer/lucee-
performance-analyzer)
o Requires debugging be enabled in Lucee Admin
o Demo…
o CF or Lucee:
o github.com/foundeo/cfmetrics
o ColdBox Debugger (forgebox.io/view/cbdebugger)
o And there are more-complete monitoring solutions for CF/Lucee…

Recommended for you

Os
OsOs
Os

The document discusses operating systems and processes. It defines an operating system as software that controls hardware and manages resources. A process is a program in execution that has a unique ID and state. Processes go through various states like running, ready, blocked/waiting, and terminated. Threads are lightweight processes that can be scheduled independently and share resources within a process. User-level threads are managed in libraries while kernel-level threads are managed by the operating system kernel.

Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server

Apache Traffic Server is a high performance caching proxy that can improve performance and uptime. It is open source software originally created by Yahoo and used widely at Yahoo. It can be used as a content delivery network, reverse proxy, forward proxy, and general proxy. Configuration primarily involves files like remap.config, records.config, and storage.config. Plugins can also be created to extend its functionality.

atsapache traffic servertrafficserver
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlow

The document summarizes the analysis of the TensorFlow machine learning library using the PVS-Studio static code analyzer. Some key findings include: 1. PVS-Studio found 64 instances of false positives related to the DCHECK debugging macro that were suppressed. Explanations of how to address false positives were provided. 2. Various PVS-Studio settings like disabling diagnostics rules and excluding automatically generated files helped filter the analysis output. 3. Genuine errors found include a null pointer dereference that could lead to undefined behavior and a redundant null check.

open sourcebugsgoogle
Charlie Arehart (CArehart.org, @carehart)
FusionReactor
o Powerful tool with many capabilities
o Can work entirely within JVM (“on-prem”)
o or also pushing data to cloud (“FR Cloud”), separately priced
o Easily added into FusionReactor: forgebox.io/view/commandbox-fusionreactor
o Could do entire talk on FR, and indeed I have done many
o Just last month: carehart.org/presentations/#cf_fr_opt
o My series: youtube.com/playlist?list=PLG2EHzEbhy09al6Lx0JlIUcpbA8UrwPuo
o Works with CF or Lucee (or BoxLang!)
o Commercial, with available developer license (fusion-reactor.com)
o Quick demo…
Charlie Arehart (CArehart.org, @carehart)
SeeFusion
o Came out about same time as FR mid-2000’s
o Offers many basic/key monitoring features
o Not as capable as FR, but has a new advantage…
o Is no longer commercial: now open source, github.com/seefusion/seefusion
o Works with both CF and Lucee
o Must implement either as Tomcat valve or servlet filter (vs javaagent)
o Must “wrap” datasources to monitor SQL/JDBC
o CFMeetup session on SeeFusion: youtube.com/watch?v=QKpTtpCc0qE
Charlie Arehart (CArehart.org, @carehart)
PMT
o Available free in CF2018 and above
o Adobe’s replacement for the CF Server Monitor in CF8-2016
o Offers many capabilities like FR (and each has things the other doesn’t)
o 20-min intro video: youtube.com/watch?v=ycydtKHi_AI
o While the tool is powerful, the take up in the community has been slow
o Due partly to its architecture: PMT and PMT Datastore are apps separate from CF
o Can be run on same machine as CF or another (even separate from each other)
o Tip: Can use FR to monitor PMT and Datastore, as they are java apps!
o Quick demo of PMT…
o (One thing that PMT and FR can do—uniquely--is track cfthread processing)
o But sometimes CF/Lucee tools can’t be added or aren’t sufficient
o Of course, CF and Lucee (and BoxLang) run on Java
o And there are several Java tools we can look to…
Charlie Arehart (CArehart.org, @carehart)
Java/JVM command line tools
o Several commands, each having many subfeatures, in JDK versions of Java
o Java 8 and earlier offered option of JRE or JDK, later java versions are JDK only
o Tools located in Java’s bin directory (such as the Java used to run CF/Lucee/BoxLang)
o For local development instances, tools should just work with them (even running as service)
o As long as user running jvm tool is same as user running CF/Lucee/BoxLang
o On Windows, if CF/Lucee runs as service under “LocalSystem” account, run cmdline as admin
o What if instance is not local, or user running tools is not same as user running CF/Lucee/etc?
o Then you need to specify JMXremote args in startup of CF/Lucee/BoxLang
o Plenty of resources online cover doing that, for CF and Lucee (and java in general)
o See also optional related tool called jstatd
o These jvm tools work with CF/Lucee/BoxLang regardless of how deployed

Recommended for you

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring

The objective of this article is to describe what to monitor in and around Alfresco in order to have a good understanding of how the applications are performing and to be aware of potential issues.

kibanamonitoringelasticsearch
NodeJS
NodeJSNodeJS
NodeJS

This document provides an introduction and overview of Node.js. It discusses the brief history of server-side JavaScript, how Node.js was created to enable easy push capabilities for websites, and its growth in popularity in the following years. The document also covers key aspects of Node.js like non-blocking I/O, event loops, streams, modules, and dependency management with NPM. Popular frameworks like Express, Hapi, and tools/concepts like IoT, desktop apps, and real-time apps are also mentioned.

#nodejs #javascript
Introduction To JSFL
Introduction To JSFLIntroduction To JSFL
Introduction To JSFL

Slides from my presentation at the London Flash Designer and Developers Meetup, 22 April 2010 for more details see tomaterial.blogspot.com

workflowanimator-toolsjsfl
Charlie Arehart (CArehart.org, @carehart)
Java command line tools (cont.)
o They’re run by pointing to the OS process id of the running java/CF/Lucee/etc
o Can try to find with jcmd (one of those java commands), with no args
o That will list those java processes YOU started
o (If CF/Lucee/etc is running as a service (Windows or *nix), won’t show those)
o Can use OS commands to find pid of running processes
o Windows: task manager (look for coldfusion.exe, not coldfusionsvc.exe), or
o tasklist | findstr coldfusion (CF typical install)
o tasklist | findstr tomcat (Lucee typical install)
o tasklist | findstr java (Commandbox running CF/Lucee/BoxLang)
o Linux: pgrep java (CF and Lucee always show in Linux as “java” processes)
Charlie Arehart (CArehart.org, @carehart)
Java jcmd
o Can do many things with this tool
o Can get list of features by using jcmd <processid>
o Some examples (assuming CF/Lucee/etc is process id 123)
o jcmd 123 VM.version (args are case-sensitive)
o jcmd 123 VM.uptime (how long jvm/CF/Lucee/etc has been up)
o jcmd 123 GC.heap_info (memory space info)
o jcmd 123 GC.run (request garbage collection)
o And more …
Charlie Arehart (CArehart.org, @carehart)
Obtaining thread dumps/stack traces
o Thread dumps identify what running requests (and other threads) are doing
o FusionReactor, PMT, and SeeFusion offer means to create them
o jcmd offers another way to obtain them
o jcmd <pid> Thread.print (request thread dump)
o As does:
o jstack <pid>
o And we’ll see other visual jvm tools that can create/view thread dumps
o Demos…
o For now, on to other java cli tools…
Charlie Arehart (CArehart.org, @carehart)
Other Java CLI monitoring tools
o jdb, jinfo, jmap, jps, jstack, jstat
o I’ll leave you to explore those as may interest you
o jhat and hprof were removed with Java 9
o Capabilities now in other tools already mentioned
o Again, jstatd allows allowing remote calls into a host running a JVM
o Including setting it up via ssh
o Will leave that for you to explore if interested
o For now, let’s wrap up with one powerful (and rather new) jvm CLI tool...

Recommended for you

Deguzmanpresentationprogramming
DeguzmanpresentationprogrammingDeguzmanpresentationprogramming
Deguzmanpresentationprogramming

The document discusses different types of looping statements in programming languages. It describes while, do-while, for, and foreach loops. It explains that while and do-while loops check a condition each iteration, for loops allow initializing and changing a counter, and foreach loops iterate over array elements. It also mentions break and continue statements that alter loop execution flow. Examples of each looping statement are provided with links to online code samples.

Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer

The document provides an introduction to operating systems and key concepts such as processes, virtual memory, and multitasking. It discusses how the CPU uses registers to perform computations and access memory. It explains that an operating system allows multiple programs to run simultaneously through time-slicing and context-switching between processes. Each process has its own virtual address space and sees its own "virtual machine" presented by the operating system.

kernelmemoryregister
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and Profiling

Java is one of the most popular languages and it's very important to understand the performance of Java servers. Modern JVMs compile the Java code in runtime using Just-In-Time (JIT) compiler and such JIT compiled code runs very close to optimized native code in terms of speed. When understanding performance, it's important to know how Java works and we can also measure the performance using key metrics like Throughput and Latency. After measuring the performance, we can use profilers to understand the application behavior and find performance bottlenecks. In this session, we will look at how Java manages the memory and how it optimizes the Java code using JIT compilation. We will also look at how we can use the Java Flight Recorder (JFR) to profile the JVM and find performance bottlenecks. Finally, we can look at how "Flame Graphs" can be used to identify the most frequent code-paths quickly and accurately.

 
by WSO2
javajava performance and profiling
Charlie Arehart (CArehart.org, @carehart)
JFR (Java flight recorder)
o JFR is a feature that’s been around for a while, can be very powerful
o Was for a time an Oracle commercial feature, but is now free
o Can create jfr recordings two ways
o Use jfr tool to launch a JVM/app or use jcmd <pid> JFR.start
o Can pass it args to control WHAT it records, which is where power comes in
o Available args also to control saving/viewing JFR info at consle
o Will see GUI tools to create/view JFR recordings soon
o Indeed, while CLI tools can be powerful, many prefer GUI tools for many monitoring tasks
o And there are built-in or easily obtained GUI jvm tools…
Charlie Arehart (CArehart.org, @carehart)
jconsole
o First of 3 available java GUI tools (least capable of the 3)
o But better than nothing, since it’s built-in to Java
o Like CLI tools, found in JDK’s bin folder
o Demo…
o If on headless Linux or debugging a remote machine, use JMXRemoting
o More about JMX: Java management extensions
o Both a way the JVM exposes metric data to tools, and an API to dig into more
o Viewing JMX info supported by this tool and next two, and also by FusionReactor
Charlie Arehart (CArehart.org, @carehart)
visualvm , formerly jvisualvm
o Has also gone through transition of licensing over years, now free/open source
o visualvm.github.io
o Can do many things in its UI, while watching a JVM process (CF/Lucee/etc.)
o obtain thread dumps, heap dumps/analyze them
o profile memory and cpu use (across all threads in the process)
o view JMX info
o read and graph JFR recordings(!)
o and more
o Has community of plugins offering still more
o Demo…
Charlie Arehart (CArehart.org, @carehart)
Java Mission Control (JMC)
o Has also gone through transition of licensing over years, now free/open source
o wiki.openjdk.org/display/jmc/Main
o docs.oracle.com/en/java/java-components/jdk-mission-control/
o Can do many of same things as visualvm
o Including taking thread dumps, processing JFR recordings, showing JMX info
o Seems to REQUIRE enabling of JMX (port being exposed by CF/Lucee/etc)
o Download:
o JMC 8: jdk.java.net/jmc/
o JMC 9: oracle.com/java/technologies/jdk-mission-control.html
o JMC 9 requires Java 17, JMC 8.1 requires Java 11

Recommended for you

A First Date With Scala
A First Date With ScalaA First Date With Scala
A First Date With Scala

Scala is a programming language created in 2001 that runs on the Java Virtual Machine. It aims to be scalable by combining object-oriented and functional programming features. Some key characteristics include its Java-like syntax that makes Java libraries and frameworks accessible, static typing for performance and documentation, and use of traits to decompose large classes and avoid fat objects. Functional programming is also supported through treating functions as first-class objects and avoiding side effects.

programming languagesscala
Fundamentals of programming finals.ajang
Fundamentals of programming finals.ajangFundamentals of programming finals.ajang
Fundamentals of programming finals.ajang

The document discusses different types of looping statements in programming languages including while, do-while, for, and foreach loops. It provides examples of the syntax for each loop and explains their usage - while and do-while loops check a condition each iteration, for loops initialize and increment a counter, and foreach loops iterate over array elements. Break and continue statements are also covered which can exit or skip iterations in loops respectively.

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI

Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.

cfmlcoldfusionboxlang
Charlie Arehart (CArehart.org, @carehart)
Related Java monitoring tools
o I’ve mentioned how JVM (and some CF tools) can create thread dumps
o Check out helpful free online tool to analyze them:
o fastthread.io
o And free sister online tools:
o heaphero.io
o gceasy.io
o ycrash.io
o Still more java monitoring tools
o See my list at cf411.com/javamon
o But such built-in Java monitoring tools have more capable cousins…
Charlie Arehart (CArehart.org, @carehart)
Java APMs
o There’s a whole world of Java Application Performance Monitoring (and
“observability”) tools, which can be added to CF/Lucee/etc
o Across all platforms
o Some free, some commercial
o Like other Java tools, often these APMs don’t easily track page requests
o And they often present low-level java info, hard to relate back to CF/Lucee/etc
o No time to demo them in this talk
o See my list at cf411.com/apm
o Note that some Java tools and APMs include “system” monitoring features
o Indeed, often problems in our apps really reflect larger system problems
o Several kinds of tools focus on that…
Charlie Arehart (CArehart.org, @carehart)
Simple OS-level tools
o Windows
o Task Manager (see Processes and Details, sortable; and Performance)
o tasklist (command)
o Bonus: systeminfo | findstr "Boot time"
o Linux
o top (can sort using “f” key)
o Consider installable variants: htop, atop, vtop, gtop, etc.
o ps -aux (try also -auxf)
o Bonus: uptime
o MacOS
o Activity Monitor (GUI)
o Also Linux (Unix) command line tools above
Charlie Arehart (CArehart.org, @carehart)
More capable OS tools, built-in
o Windows
o Resource Monitor
o Performance Monitor (tip: switch “graph type” to “report”)
o Linux
o sar (collect system activity over time)
o netstat and ss -tua (network stats)
o Consider adding
o iostat (cpu load, disk activity), iotop (still more disk i/o detail)
o iftop (bandwidth usage on an interface by host)

Recommended for you

How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours

Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.

coldfusioncfmladobe
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud

Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.

coldfusioncfmlwebsite
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger

Discover BoxLang, the innovative JVM programming language developed by Ortus Solutions. Designed to harness the power of the Java Virtual Machine, BoxLang offers a modern approach to application development with robust performance and scalability. Join us as we explore the capabilities of BoxLang, its syntax, and how it enhances productivity in software development.

vscodecodingcfml
Charlie Arehart (CArehart.org, @carehart)
System monitoring tools, as add-ons
o As with APMs, a whole world of OS monitoring tools available
o Across all platforms
o Again, some free, some commercial
o See my list at cf411.com/sysmon
o Finally, some problems are specific to other aspects of processing…
Charlie Arehart (CArehart.org, @carehart)
Other monitoring tools
o There are also tools for monitoring your:
o Web server
o Database
o Network
o IO
o And more
o I track tools like these and still more at cf411.com/dbmon
o And cloud platforms (AWS, Azure, GCP) offer monitoring for their components
Charlie Arehart (CArehart.org, @carehart)
Finding more
o I’ve held off offering links to more on most of these things
o Most can be found readily via web searching
o Do beware that some resources are old (and may no longer be accurate)
o Again, the PDF of this talk is already online on my site
o And the recordings of these ITB sessions will be offered online soon
o I’ve also pointed to related presentations I’ve done (usually also recorded)
o Certainly feel free to reach out to me if you have trouble finding a resource
Charlie Arehart (CArehart.org, @carehart)
Summary
o Problems will happen with your CF/Lucee instances
o Don’t regard them as a black box, or throw darts trying to “fix” things
o We’ve seen there are built-in tools, or tools easily added, to better understand:
o CF/Lucee monitoring capabilities and options
o Java monitoring features and options
o OS monitoring features and options
o Monitoring other components/aspects of architecture
o I hope you feel more empowered to dig into such problems on your own
o If you hit snags/want guiding hand, am available for remote, screenshare consulting
o Can work in as short as 15-min intervals; solve most problems in less than an hour

Recommended for you

How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...

Unlock the secrets of seamless ColdFusion error troubleshooting! Join us to explore the potent capabilities of Visual Studio Code (VS Code) and ColdFusion Builder (CF Builder) in debugging. This hands-on session guides you through practical techniques tailored for local setups, ensuring a smooth and efficient development experience.

builderdebugcoldfusion
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro

CommandBox was highlighted as a powerful web hosting solution, perfect for developers and businesses alike. Featuring a built-in server and command-line interface, CommandBox simplified web application management. Developers could deploy multiple application instances simultaneously, optimizing development workflows. CommandBox's efficient deployment processes ensured reliable web hosting, seamlessly integrating into existing workflows for scalability and feature enhancements.

commandboxcommandbox procfml
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox

Join me for an insightful journey into task scheduling within the ColdBox framework. In this session, we explored how to effortlessly create and manage scheduled tasks directly in your code, enhancing control and efficiency in applications and modules. Attendees experienced a user-friendly dashboard for seamless task management and monitoring. Whether you're experienced with ColdBox or new to it, this session provided practical knowledge and tips to streamline your development workflow.

cfmlcoldfusioncoldbox
INTO THE BOX 2024
INTO THE BOX 2024

More Related Content

Similar to Demonstrating Monitoring Solutions for CF and Lucee

How do I - Storage, FileSystem & SQL - Transcript.pdf
How do I - Storage, FileSystem & SQL - Transcript.pdfHow do I - Storage, FileSystem & SQL - Transcript.pdf
How do I - Storage, FileSystem & SQL - Transcript.pdf
ShaiAlmog1
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with Spring
VMware Tanzu
 
2012 04-19 theory-of_operation
2012 04-19 theory-of_operation2012 04-19 theory-of_operation
2012 04-19 theory-of_operation
bobwolff68
 
Java 8 - Lambdas and much more
Java 8 - Lambdas and much moreJava 8 - Lambdas and much more
Java 8 - Lambdas and much more
Alin Pandichi
 
Kiwipycon command line
Kiwipycon command lineKiwipycon command line
Kiwipycon command line
Michael Hudson-Doyle
 
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009
Viswanath J
 
Os4 2
Os4 2Os4 2
Os4 2
issbp
 
Write a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdfWrite a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdf
sravi07
 
Os
OsOs
Os
OsOs
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
supertom
 
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlow
PVS-Studio
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
Miguel Rodriguez
 
NodeJS
NodeJSNodeJS
NodeJS
LinkMe Srl
 
Introduction To JSFL
Introduction To JSFLIntroduction To JSFL
Introduction To JSFL
George Profenza
 
Deguzmanpresentationprogramming
DeguzmanpresentationprogrammingDeguzmanpresentationprogramming
Deguzmanpresentationprogramming
deguzmantrisha
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
Saumil Shah
 
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and Profiling
WSO2
 
A First Date With Scala
A First Date With ScalaA First Date With Scala
A First Date With Scala
Franco Lombardo
 
Fundamentals of programming finals.ajang
Fundamentals of programming finals.ajangFundamentals of programming finals.ajang
Fundamentals of programming finals.ajang
Jaricka Angelyd Marquez
 

Similar to Demonstrating Monitoring Solutions for CF and Lucee (20)

How do I - Storage, FileSystem & SQL - Transcript.pdf
How do I - Storage, FileSystem & SQL - Transcript.pdfHow do I - Storage, FileSystem & SQL - Transcript.pdf
How do I - Storage, FileSystem & SQL - Transcript.pdf
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with Spring
 
2012 04-19 theory-of_operation
2012 04-19 theory-of_operation2012 04-19 theory-of_operation
2012 04-19 theory-of_operation
 
Java 8 - Lambdas and much more
Java 8 - Lambdas and much moreJava 8 - Lambdas and much more
Java 8 - Lambdas and much more
 
Kiwipycon command line
Kiwipycon command lineKiwipycon command line
Kiwipycon command line
 
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009
 
Os4 2
Os4 2Os4 2
Os4 2
 
Write a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdfWrite a program in C or C++ which simulates CPU scheduling in an opera.pdf
Write a program in C or C++ which simulates CPU scheduling in an opera.pdf
 
Os
OsOs
Os
 
Os
OsOs
Os
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlow
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
NodeJS
NodeJSNodeJS
NodeJS
 
Introduction To JSFL
Introduction To JSFLIntroduction To JSFL
Introduction To JSFL
 
Deguzmanpresentationprogramming
DeguzmanpresentationprogrammingDeguzmanpresentationprogramming
Deguzmanpresentationprogramming
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
 
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and Profiling
 
A First Date With Scala
A First Date With ScalaA First Date With Scala
A First Date With Scala
 
Fundamentals of programming finals.ajang
Fundamentals of programming finals.ajangFundamentals of programming finals.ajang
Fundamentals of programming finals.ajang
 

More from Ortus Solutions, Corp

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
Ortus Solutions, Corp
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
Ortus Solutions, Corp
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
Ortus Solutions, Corp
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
Ortus Solutions, Corp
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
Ortus Solutions, Corp
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
Ortus Solutions, Corp
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
Ortus Solutions, Corp
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
Ortus Solutions, Corp
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
Ortus Solutions, Corp
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
Ortus Solutions, Corp
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
Ortus Solutions, Corp
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
Ortus Solutions, Corp
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
Ortus Solutions, Corp
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
Ortus Solutions, Corp
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
Ortus Solutions, Corp
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Ortus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
 

Recently uploaded

CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
onemonitarsoftware
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 

Recently uploaded (20)

CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 

Demonstrating Monitoring Solutions for CF and Lucee

  • 2. BLUE ROOM PRESENTED BY Charlie Arehart Demonstrating Monitoring Solutions for CF and Lucee (and BoxLang!)
  • 3. Charlie Arehart (CArehart.org, @carehart) “Wha’ happened?” o Nearly all of us face challenges at some time with CF, Lucee, etc. whether on: o Our dev environment (whether running on commandbox or not), or o a server, or a cluster of servers, or o vm’s, or o containers, etc. o Regardless of platform or architecture, this can be challenging o Is the problem at the OS level? Or some component (cpu, memory, disk, network) o Is it in CF or Lucee? Some setting? Our code? A bug? o Is it about our traffic? Whether expected or not, unusual or not?
  • 4. Charlie Arehart (CArehart.org, @carehart) We need SOMETHING to observe o There are a range of alternatives to watch what’s going on o At each of those levels o Whether built-in or as can be added (some free, some paid) o My 2021 ITB preso covered those in more detail o What the options are, which are included/how to add them, considerations o Common causes of problems, more o In this talk, I just want to demonstrate many of the alternatives o You can go view the other preso for the details (nearly all are unchanged) o carehart.org/presentations/#mon_consider
  • 5. Charlie Arehart (CArehart.org, @carehart) Me.about() o I focus on CF/Lucee server troubleshooting, as an independent consultant o Assist organizations of all sizes, experience levels o Work remotely: safe, secure, easy via shared desktop (zoom, meet, teams, etc.) o Solve most problems in less than an hour, teaching you also as we go o Satisfaction guaranteed o More on rates, approach, online calendar, etc at carehart.org/consulting o But to be clear, I’m not selling anything in this session!  o Just sharing my experience, and that of others o Presentation online at carehart.org/presentations
  • 6. Charlie Arehart (CArehart.org, @carehart) Topics o CF/Lucee monitoring features o Simple things built-in o Alternative monitoring tools o Java monitoring features o Java command line tools, Ui’s, and more (built-in or freely added) o Alternative monitoring tools (APM’s) o OS monitoring features o Simple—and more capable—built-in tools o Alternative monitoring tools o Other monitoring tools to consider
  • 7. Charlie Arehart (CArehart.org, @carehart) A comment… o Different people may view some tools/features here as being for: o Troubleshooting o Debugging o Observability (o11y) o Keep this point in mind when searching for info on them o One person’s “debugging” is another’s “troubleshooting” o And one person’s “monitoring” is another’s “observability” o In this talk, I’m not going to dwell on the distinctions o And not covering step debugging at all (deserves its own talk)
  • 8. Charlie Arehart (CArehart.org, @carehart) I’ll default showing most of my demos… o …in Windows o I know the Mac and Linux folks will grumble o But you’re used to translating or finding things o Indeed many things you find are WRITTEN more for *nix folks o Windows folks often are left feeling like this: o https://www.youtube.com/embed/TSse5b3wDe4
  • 9. Charlie Arehart (CArehart.org, @carehart) Questions we should be able to answer o Is CF/Lucee/boxlang running? o What are key resource usage metrics (cpu, memory, etc.)? o How many requests are running/have recently run? o What are their key characteristics? o Are any hung? Slow? WHY? o Same with respect to queries, cfhttp calls, etc. o Are errors happening? At what rate? Why happening? o And more
  • 10. Charlie Arehart (CArehart.org, @carehart) Simple things built-into CF/Lucee o Lucee and CF both offer logs of course o CF offers a metrics.log, if enabled o And both offer request debug output (as enabled in CF or Lucee Admin) o Better than nothing, but not suited to production (or viewing requests of others) o Lucee Admin shows a bit of monitoring o Heap use within Lucee instance o Cpu within Lucee instance o Count of requests (running and queued), threads o Counts of memory scopes used o Count of datasource connections o Demo…
  • 11. Charlie Arehart (CArehart.org, @carehart) Simple things built-into CF/Lucee (cont.) o Consider also: o getmetricdata() function (CF and Lucee) o cfstat cli script in CF (cfusion/bin directory) o Lucee getmemoryusage() function, about JVM heap memory o Also Lucee get*memory() functions, about system memory o CF outputs metrics to Windows Performance Monitor o Of course, these work with CF/Lucee however they are deployed
  • 12. Charlie Arehart (CArehart.org, @carehart) Extending CF/Lucee for monitoring o Lucee Performance Analyzer extension (github.com/zspitzer/lucee- performance-analyzer) o Requires debugging be enabled in Lucee Admin o Demo… o CF or Lucee: o github.com/foundeo/cfmetrics o ColdBox Debugger (forgebox.io/view/cbdebugger) o And there are more-complete monitoring solutions for CF/Lucee…
  • 13. Charlie Arehart (CArehart.org, @carehart) FusionReactor o Powerful tool with many capabilities o Can work entirely within JVM (“on-prem”) o or also pushing data to cloud (“FR Cloud”), separately priced o Easily added into FusionReactor: forgebox.io/view/commandbox-fusionreactor o Could do entire talk on FR, and indeed I have done many o Just last month: carehart.org/presentations/#cf_fr_opt o My series: youtube.com/playlist?list=PLG2EHzEbhy09al6Lx0JlIUcpbA8UrwPuo o Works with CF or Lucee (or BoxLang!) o Commercial, with available developer license (fusion-reactor.com) o Quick demo…
  • 14. Charlie Arehart (CArehart.org, @carehart) SeeFusion o Came out about same time as FR mid-2000’s o Offers many basic/key monitoring features o Not as capable as FR, but has a new advantage… o Is no longer commercial: now open source, github.com/seefusion/seefusion o Works with both CF and Lucee o Must implement either as Tomcat valve or servlet filter (vs javaagent) o Must “wrap” datasources to monitor SQL/JDBC o CFMeetup session on SeeFusion: youtube.com/watch?v=QKpTtpCc0qE
  • 15. Charlie Arehart (CArehart.org, @carehart) PMT o Available free in CF2018 and above o Adobe’s replacement for the CF Server Monitor in CF8-2016 o Offers many capabilities like FR (and each has things the other doesn’t) o 20-min intro video: youtube.com/watch?v=ycydtKHi_AI o While the tool is powerful, the take up in the community has been slow o Due partly to its architecture: PMT and PMT Datastore are apps separate from CF o Can be run on same machine as CF or another (even separate from each other) o Tip: Can use FR to monitor PMT and Datastore, as they are java apps! o Quick demo of PMT… o (One thing that PMT and FR can do—uniquely--is track cfthread processing) o But sometimes CF/Lucee tools can’t be added or aren’t sufficient o Of course, CF and Lucee (and BoxLang) run on Java o And there are several Java tools we can look to…
  • 16. Charlie Arehart (CArehart.org, @carehart) Java/JVM command line tools o Several commands, each having many subfeatures, in JDK versions of Java o Java 8 and earlier offered option of JRE or JDK, later java versions are JDK only o Tools located in Java’s bin directory (such as the Java used to run CF/Lucee/BoxLang) o For local development instances, tools should just work with them (even running as service) o As long as user running jvm tool is same as user running CF/Lucee/BoxLang o On Windows, if CF/Lucee runs as service under “LocalSystem” account, run cmdline as admin o What if instance is not local, or user running tools is not same as user running CF/Lucee/etc? o Then you need to specify JMXremote args in startup of CF/Lucee/BoxLang o Plenty of resources online cover doing that, for CF and Lucee (and java in general) o See also optional related tool called jstatd o These jvm tools work with CF/Lucee/BoxLang regardless of how deployed
  • 17. Charlie Arehart (CArehart.org, @carehart) Java command line tools (cont.) o They’re run by pointing to the OS process id of the running java/CF/Lucee/etc o Can try to find with jcmd (one of those java commands), with no args o That will list those java processes YOU started o (If CF/Lucee/etc is running as a service (Windows or *nix), won’t show those) o Can use OS commands to find pid of running processes o Windows: task manager (look for coldfusion.exe, not coldfusionsvc.exe), or o tasklist | findstr coldfusion (CF typical install) o tasklist | findstr tomcat (Lucee typical install) o tasklist | findstr java (Commandbox running CF/Lucee/BoxLang) o Linux: pgrep java (CF and Lucee always show in Linux as “java” processes)
  • 18. Charlie Arehart (CArehart.org, @carehart) Java jcmd o Can do many things with this tool o Can get list of features by using jcmd <processid> o Some examples (assuming CF/Lucee/etc is process id 123) o jcmd 123 VM.version (args are case-sensitive) o jcmd 123 VM.uptime (how long jvm/CF/Lucee/etc has been up) o jcmd 123 GC.heap_info (memory space info) o jcmd 123 GC.run (request garbage collection) o And more …
  • 19. Charlie Arehart (CArehart.org, @carehart) Obtaining thread dumps/stack traces o Thread dumps identify what running requests (and other threads) are doing o FusionReactor, PMT, and SeeFusion offer means to create them o jcmd offers another way to obtain them o jcmd <pid> Thread.print (request thread dump) o As does: o jstack <pid> o And we’ll see other visual jvm tools that can create/view thread dumps o Demos… o For now, on to other java cli tools…
  • 20. Charlie Arehart (CArehart.org, @carehart) Other Java CLI monitoring tools o jdb, jinfo, jmap, jps, jstack, jstat o I’ll leave you to explore those as may interest you o jhat and hprof were removed with Java 9 o Capabilities now in other tools already mentioned o Again, jstatd allows allowing remote calls into a host running a JVM o Including setting it up via ssh o Will leave that for you to explore if interested o For now, let’s wrap up with one powerful (and rather new) jvm CLI tool...
  • 21. Charlie Arehart (CArehart.org, @carehart) JFR (Java flight recorder) o JFR is a feature that’s been around for a while, can be very powerful o Was for a time an Oracle commercial feature, but is now free o Can create jfr recordings two ways o Use jfr tool to launch a JVM/app or use jcmd <pid> JFR.start o Can pass it args to control WHAT it records, which is where power comes in o Available args also to control saving/viewing JFR info at consle o Will see GUI tools to create/view JFR recordings soon o Indeed, while CLI tools can be powerful, many prefer GUI tools for many monitoring tasks o And there are built-in or easily obtained GUI jvm tools…
  • 22. Charlie Arehart (CArehart.org, @carehart) jconsole o First of 3 available java GUI tools (least capable of the 3) o But better than nothing, since it’s built-in to Java o Like CLI tools, found in JDK’s bin folder o Demo… o If on headless Linux or debugging a remote machine, use JMXRemoting o More about JMX: Java management extensions o Both a way the JVM exposes metric data to tools, and an API to dig into more o Viewing JMX info supported by this tool and next two, and also by FusionReactor
  • 23. Charlie Arehart (CArehart.org, @carehart) visualvm , formerly jvisualvm o Has also gone through transition of licensing over years, now free/open source o visualvm.github.io o Can do many things in its UI, while watching a JVM process (CF/Lucee/etc.) o obtain thread dumps, heap dumps/analyze them o profile memory and cpu use (across all threads in the process) o view JMX info o read and graph JFR recordings(!) o and more o Has community of plugins offering still more o Demo…
  • 24. Charlie Arehart (CArehart.org, @carehart) Java Mission Control (JMC) o Has also gone through transition of licensing over years, now free/open source o wiki.openjdk.org/display/jmc/Main o docs.oracle.com/en/java/java-components/jdk-mission-control/ o Can do many of same things as visualvm o Including taking thread dumps, processing JFR recordings, showing JMX info o Seems to REQUIRE enabling of JMX (port being exposed by CF/Lucee/etc) o Download: o JMC 8: jdk.java.net/jmc/ o JMC 9: oracle.com/java/technologies/jdk-mission-control.html o JMC 9 requires Java 17, JMC 8.1 requires Java 11
  • 25. Charlie Arehart (CArehart.org, @carehart) Related Java monitoring tools o I’ve mentioned how JVM (and some CF tools) can create thread dumps o Check out helpful free online tool to analyze them: o fastthread.io o And free sister online tools: o heaphero.io o gceasy.io o ycrash.io o Still more java monitoring tools o See my list at cf411.com/javamon o But such built-in Java monitoring tools have more capable cousins…
  • 26. Charlie Arehart (CArehart.org, @carehart) Java APMs o There’s a whole world of Java Application Performance Monitoring (and “observability”) tools, which can be added to CF/Lucee/etc o Across all platforms o Some free, some commercial o Like other Java tools, often these APMs don’t easily track page requests o And they often present low-level java info, hard to relate back to CF/Lucee/etc o No time to demo them in this talk o See my list at cf411.com/apm o Note that some Java tools and APMs include “system” monitoring features o Indeed, often problems in our apps really reflect larger system problems o Several kinds of tools focus on that…
  • 27. Charlie Arehart (CArehart.org, @carehart) Simple OS-level tools o Windows o Task Manager (see Processes and Details, sortable; and Performance) o tasklist (command) o Bonus: systeminfo | findstr "Boot time" o Linux o top (can sort using “f” key) o Consider installable variants: htop, atop, vtop, gtop, etc. o ps -aux (try also -auxf) o Bonus: uptime o MacOS o Activity Monitor (GUI) o Also Linux (Unix) command line tools above
  • 28. Charlie Arehart (CArehart.org, @carehart) More capable OS tools, built-in o Windows o Resource Monitor o Performance Monitor (tip: switch “graph type” to “report”) o Linux o sar (collect system activity over time) o netstat and ss -tua (network stats) o Consider adding o iostat (cpu load, disk activity), iotop (still more disk i/o detail) o iftop (bandwidth usage on an interface by host)
  • 29. Charlie Arehart (CArehart.org, @carehart) System monitoring tools, as add-ons o As with APMs, a whole world of OS monitoring tools available o Across all platforms o Again, some free, some commercial o See my list at cf411.com/sysmon o Finally, some problems are specific to other aspects of processing…
  • 30. Charlie Arehart (CArehart.org, @carehart) Other monitoring tools o There are also tools for monitoring your: o Web server o Database o Network o IO o And more o I track tools like these and still more at cf411.com/dbmon o And cloud platforms (AWS, Azure, GCP) offer monitoring for their components
  • 31. Charlie Arehart (CArehart.org, @carehart) Finding more o I’ve held off offering links to more on most of these things o Most can be found readily via web searching o Do beware that some resources are old (and may no longer be accurate) o Again, the PDF of this talk is already online on my site o And the recordings of these ITB sessions will be offered online soon o I’ve also pointed to related presentations I’ve done (usually also recorded) o Certainly feel free to reach out to me if you have trouble finding a resource
  • 32. Charlie Arehart (CArehart.org, @carehart) Summary o Problems will happen with your CF/Lucee instances o Don’t regard them as a black box, or throw darts trying to “fix” things o We’ve seen there are built-in tools, or tools easily added, to better understand: o CF/Lucee monitoring capabilities and options o Java monitoring features and options o OS monitoring features and options o Monitoring other components/aspects of architecture o I hope you feel more empowered to dig into such problems on your own o If you hit snags/want guiding hand, am available for remote, screenshare consulting o Can work in as short as 15-min intervals; solve most problems in less than an hour
  • 33. INTO THE BOX 2024 INTO THE BOX 2024