terraform-aws-ssh-bastion-service
FlameGraph
terraform-aws-ssh-bastion-service | FlameGraph | |
---|---|---|
12 | 53 | |
204 | 16,458 | |
- | - | |
0.0 | 4.5 | |
12 months ago | 22 days ago | |
HCL | Perl | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
terraform-aws-ssh-bastion-service
-
Adding two separte custom_data blocks?
I'm not sure from this exactly what you're trying to do. If you're working with cloudinit/userdata then I can point you to an example.
-
Best tips for reducing cloud costs?
I actually mashed together cloudposse/terraform-aws-dynamic-subnets (which has an option to use NAT instances instead of gateways) and joshuamkite/terraform-aws-ssh-bastion-service. That allowed for even cheaper setups where your bastion jump-host (the host you proxy through to get to the private subnets) is also the NAT gateway. I quite liked this setup because the bastion sessions were sufficiently sandboxed in a ephemeral container, and we didn't need twice the number of hosts to have both NAT instances and bastions.
-
templatefile to use 'inline templates'
I have a public terraform module which i migrated away from the template provider last year. You can see how I handled the changes and used the new provider if that helps
-
Executing remote-exec via terraform led to my resource to stuck at still creating
You should try to avoid using remote exec with terraform wherever possible. It's not a great fit with the declarative approach that Terraform aims for. Here you would be better off using 'user data' to provision your instance. I have a public project that deploys and builds a Golang app on EC2. It's a bit more complicated than your example here, but it does demonstrate a method for doing what you're trying to do with the approach that I have suggested.
-
How to pratice
The thing that really moved me on from junior to senior in this area was finding something that was a common pain point for many people that I could focus on to address as a 'simple' solution that could be used as a 'black box' or 'tick box'. Once it picked up steam I had to deal with other people's use cases and suggestions that I had never considered before, both in person (when i spoke at meetups) and online (open source project).
-
Terraform: Jesus, how to generate YAML from a template file?
It looks like you might be misunderstanding the purpose of the yamlencode function here. Terraform doesn't need to know anything about the syntax of the file you're using with templatefile, as long as it's text, you're good. Just start with a yaml file and use the templatefile syntax for your substitutions. Examples
-
Upgrading from 0.11 to 1.3
I have a public Terraform module with releases incrementing from tf 11 thru 1.2.0 where you can see changes dealing with this sorry of thing
-
Terraform and EC2 user_data to create 2 files
I'm well aware. My repo that I linked is in multi part mime. An older version used different mime types but I couldn't get it to handle all the conditional logic reliably
-
Terraform plan is different across systems (Linux and Windows)
I haven't seen your code but it sounds like you're using it wrong. I can well imagine that if you apply multiple cloudinit_config files to a single host that they get placed in alphabetical order but I don't really get why you would want to do that. In many environments, e.g. AWS, you can only supply a single user data file to your host anyway. cloudinit_config supports mullti-part MIME encoding so that you can combine sections from multiple sources in a predictable way.
-
Terraform AWS assume role policy help
You can see terraform rendering IAM policies with interpoalted assume role policies in my module.
FlameGraph
-
JVM Profiling in Action
We'll use async-profiler and flame graphs for profiling. To simplify the process, we'll run the code using JBang.
-
Memray – A Memory Profiler for Python
And flame graphs excel and this kind of thing
https://www.brendangregg.com/flamegraphs.html
-
All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more
which can output in a format understood by Brendan Gregg's flame frames (https://www.brendangregg.com/flamegraphs.html)
But that's not quite the kind of tracing you're talking about. We also built a printf-style interface to our recording files, which seems closer:
-
Recap of Werner Vogels' Keynote at re:Invent 2023
Strategies included discontinuing or resizing underutilized services, transitioning to more cost-effective solutions, reducing the current resources to the amount of resources that we need for our application, and conducting detailed analyses of computing resource utilization through tools like flamegraphs. This detailed scrutiny helped identify and rectify significant cost-driving areas, such as garbage collection and application configurations.
-
Pinpoint performance regressions with CI-Integrated differential profiling
Flame Graphs by Brendan Gregg
-
Flameshow: A Terminal Flamegraph Viewer
Historically brendangregg's since AIUI he basically invented flamegraphs
https://www.brendangregg.com/flamegraphs.html
So if you can make your tool eat whatever https://github.com/brendangregg/FlameGraph is fed with you're going to support a lot of existing tooling across OSes and languages.
-
Introducing Flame graphs: It’s getting hot in here
“Flame graphs are a visualization of hierarchical data, created to visualize stack traces of profiled software so that the most frequent code-paths to be identified quickly and accurately.”
-
Using SVG to create simple sparkline charts
SVGs are amazing for interactive visualisation too. Like Flamegraphs: https://www.brendangregg.com/flamegraphs.html
-
Good example of using flame graphs to speed up java code (50x improvement)
This may be a good example of the application of a flame graph but it is not a good demonstration of flame graphs; the graph is nearly incidental. The source has an actual explanation.
-
Intro to PostGraphile V5 (Part 1): Replacing the Foundations
A profiling flame graph from Graphile Crystal (a precursor to Grafast) using GraphQL.js' executor (each tick is 1ms, total: 29ms). As we removed more and more responsibilities from GraphQL.js, we ended up only using it for output. Replacing this final responsibility with a custom implementation in Graphile Crystal itself, we reduced execution time for this query down to 15.5ms (effectively removing the majority of the yellow portion of the flame graph).
What are some alternatives?
terraform-aws-dynamic-subnets - Terraform module for public and private subnets provisioning in existing VPC
hotspot - The Linux perf GUI for performance analysis.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
benchmark - A microbenchmark support library
terraform-general-cloudinit - A cloudinit wrapper module that enables quick machine configuration
tracing-bunyan-formatter - A Layer implementation for tokio-rs/tracing providing Bunyan formatting for events and spans.
HeatMap - Heat map generation tools
node-clinic - Clinic.js diagnoses your Node.js performance issues
pmu-tools - Intel PMU profiling tools
etcd - Distributed reliable key-value store for the most critical data of a distributed system
hugedbbench - huge list of database benchmark
speedscope - 🔬 A fast, interactive web-based viewer for performance profiles.