Posts

Shenandoah GC myth or reality on the production ?

Image
  Hi awesome community,    Today I would like to share with you so small topic about usage Garbage Collectors in production ( GC Strategies ).  At the moment, most popular in Hotspot JVM is  G1 GC , after  CMS   and rising star is  Shenandoah GC .  So in this topic I will describe how to migrate to  Shenandoah GC . If you already on adoptJDK.  And please, keep in your mind that small tutorial related to the  Java 8 , as my instance is not fully ready for new Java. (But please, be informed in your version Java works better and  Shenandoah  significantly improved as well.)    Let’s start.  All, my JDK. JRE used in the located in one place, like /usr/java and use frequently the symbolic links. First of all, I used the latest build from Shipilev’s site builds with shenandoah ( https://builds.shipilev.net/openjdk-shenandoah-jdk8/ ).  wget -c https://builds.shipilev.net/openjdk-shenandoah-jdk8/openjdk-sh...

Jira: Housekeeping or continuous cleanup of the Agile activity artifacts

Image
  Hi awesome community!    So automated housekeeping is good. If you want you can checkout ( Cleanup-Jira-Part-1 ,  Cleanup-Jira-2, ) Today, I would like to share use cases related to the cleanup Agile boards related stuff. So to make the continuous cleanup I just use the groovy code, which is can be run on any app with support groovy like Scriptrunner, myGroovy, Grooviouli.  Let’s start it. Use case #1 : Users are experimenting with Agile boards, own private boards, sometime you do migration. Then once your sprint reports shows incorrectly, where filters shows interesting things. Please, see below screenshot: Action : Let’s remove  Future  Sprint data in Closed issues. String jqlSearch = 'Sprint in futureSprints() and status in (Closed, Done) ' SearchService.ParseResult parseResult = searchService.parseQuery(loggedInUser, jqlSearch) if (parseResult.isValid()) { def searchResult = searchService.search(loggedInUser, parseResult.getQuery(), PagerFi...

Time to cleanup unknown and incomplete build results. Bamboo

Image
  Hi awesome community,    Time to time we do many reports, also, our Bamboo instance grows so faster.  But we need to provide a high-performance service and make reports based exist build results because DevOps metrics are core for the release management. So let's investigate how we can do a cleanup and reduce our spaghetti code for the report collecting purpose.   1. Let's check what kind of status do we have? Successful, Failed, Unknown ( means Currently running), Unknown - something wrong, Incomplete. 2. I mean the grey one result, if you click you will like this info It's incomplete status.  About the unknown result, no worry it will not be removed if it's currently running a job. You can test and further investigate using that article: https://confluence.atlassian.com/bamkb/how-to-find-currently-running-jobs-900800506.html   3. How we can remove build result ?  Use that path for remove build result.   /build/admin/deletePlanRe...

Why SysOps, DevOps don't like to add custom fields on large instances of Jira?

Image
  Hi, awesome community,    Each time about Jira performance degradation I read a recommendation for application level is do the cleanup of custom fields. In short, that’s a great option for performance, UX and date clean purposes.  Sometimes a good explanation of the existing situation will help many administrators, developers, Jira configurators to understand why we need to pay performance for our flexibility.  In this article, I will describe the standard type of custom fields, as nonstandard can be implemented in another way with another side effect and next time will describe why configuration context is good and for what it was implemented.   Fundamentally Generally, Custom fields based on 3 tables in Jira, you can check here for different major schemes. (e.g. for the newest schemes you can see split user picker filter).  Feel free to double check:  https://developer.atlassian.com/server/jira/platform/database-schema/   So that’s the EA...

How OpsGenie help me and Why I returned to the pdf long Incident report?

Image
  Hi! First of all, I would like to say a big thank you for the  OpsGenie  team for each integration (Slack, call routings, apps, Jira, etc.). Because that integration helps me to reduce the time of reaction to the incident. So, let's start step by step: We are using OpsGenie since the end of 2016. On that period OpsGenie had a smooth option for delivery SMS notification for our Nagios in the critical problem. Also, it was additional pros as an escalation workflow. Based on flow which is described on official docs we go forward. Source:  https://docs.opsgenie.com/docs/alert-notifications-flow Now our scheme a little bit complicated and more integrated with another part of the infrastructure. My one of the purpose was autogenerating of the incident report, which was required in our company. Why did I want to have autogenerated? Because we had a pdf template that includes around  50  questions. As a result, I hate the process of fill info into that report and...