Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2144502iof; Tue, 7 Jun 2022 21:14:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTREtYZvFYAFgi0KhUh3YY02JZ87LTPAKTi7vMliDZdxSmt8Uo7LEV6/Dq5RSeV+8Ni+YQ X-Received: by 2002:a63:f046:0:b0:3fd:a876:10c9 with SMTP id s6-20020a63f046000000b003fda87610c9mr13680729pgj.237.1654661642913; Tue, 07 Jun 2022 21:14:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654661642; cv=none; d=google.com; s=arc-20160816; b=iSApOn8B+udxIgxuqXU7WYmDOgMNGdaD6anKexaCeldMNxFR9HXvcU5+s8Cwn/x/8O cX8+zfgMW7FHr1Ye/omLrzLdjOdLIEqQ/EwWrutemGVe5FYYh2lh6g4/KtBq0F1InQmo 8r0ZVrs1e/1VpzaUDvhbKeUqQ0laFNh7lnPQFvg16ZrBcKbfDicnij2tD+raJaWJtlSy l+51bioXhlprjcwhe3NxQ+GvwUChdgrvPDmkMSbHcfCBGDML7mTKySnDwnRgjyjRpvjw vXb8Y6sG9DNzkWXgVPGSeexayBkAaWIqpWez/u62TdXkrfknCkCplcoGoLC7W/OK/YwO r+Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:mime-version :dkim-signature; bh=Cd64zesxXwO9DDUxUPRw9NFg82m3SyiLm8HJHcXtYxs=; b=x7jmQqCbCIGuPr63003aRglevKLUM4t2Tkds1h6Ubs5NAIogBHcIUuiVDV44pJ1WR6 MMsjGJnxaCpanTL86Dqpfhc9Xg8rBR5kHrzo5eiaQeC9n2ir2zzCos6B2AExFewwfMcL SHRzoTzZ6bKJUunJUDizFK75L031gFAb47QUiketegLdLsQXkVJU/p9+kE5EhRtS//zQ qORkE3KwxJGJF3EJEJE6OhgHyO1fghhQADilD6z+bPBKKYcId1W0pyF97+/oR+u6QnnK agyEVXUBurM0HEM0ND9Svv7QorRHOTnYrCea9OA6GRPjdrI+w2C9v44WycHUt9etk6Xx 5LaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EwQhh1GW; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id c3-20020a170903234300b0016413dbbf89si26523196plh.166.2022.06.07.21.14.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 21:14:02 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EwQhh1GW; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 081314137C7; Tue, 7 Jun 2022 20:51:34 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349857AbiFGRvj (ORCPT + 99 others); Tue, 7 Jun 2022 13:51:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347450AbiFGRfR (ORCPT ); Tue, 7 Jun 2022 13:35:17 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5967710EA46 for ; Tue, 7 Jun 2022 10:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1654623002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=Cd64zesxXwO9DDUxUPRw9NFg82m3SyiLm8HJHcXtYxs=; b=EwQhh1GWs+NSlGnRIt3oBdfVII2m5AN1KPc3oWfndVsOMQb2V3MS09eu3qRMgtDHORYUHw f4zS86Ip0irL26pwejhBAC/F/ibctbjP2l1jHnsP/0DcfmPDZBhyUzGa3pcHPDIROJphsA 8NPcWn1WcASgdB7tiIrPxOu3+kbZLwg= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-643-iqv0KzgbPQm3IeQVzHxfAg-1; Tue, 07 Jun 2022 13:30:01 -0400 X-MC-Unique: iqv0KzgbPQm3IeQVzHxfAg-1 Received: by mail-qk1-f199.google.com with SMTP id i5-20020a05620a404500b006a6d7a765d9so2031572qko.7 for ; Tue, 07 Jun 2022 10:30:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Cd64zesxXwO9DDUxUPRw9NFg82m3SyiLm8HJHcXtYxs=; b=gajckhAjcTgHTDpmtHuHcD60+utFpn/pp0+slDKGuLrsefusoG0G6AeOnu9lvgvtbn mVMPAoGc2xtk/L3FnAzj9MlR7xo4XT2+7K/akCf0r69klYklsTw7zoie8ucnkN4zv+31 d5QFBwFveb4KIGCdwi0tArnwgh5bjbpnV1IaeBVfEK4KHjymOzMLMiKP2aguZTsQNy9w TJAYl34F3aZNfmgAaw+qwmndyxfjN5r+wKo/S5wW/a6xmmfhEAhqBCd7XdrTLq1aStTw IO+cExfw/tfkkTtMWCo6YOUd6aqGRDdKZOAgTjtQLrgbGA7PAiKW1zZuspLF800iF+KY AKew== X-Gm-Message-State: AOAM5325Fj9Ab5sgCdCIL9PtiQol3FvXhM+waH9cvxTLwx1/6ifVwYFD WepPFQmQkJZltEm/7uXAf0P9S8bKnEkgRsiOTuQmW8dchu/Q79F9mC6X/HracAAQTjBGVvp5aIs mr4/+jZ/tcS+UGA5qhsGE9cB5MwRb57YbYdpUQQr2 X-Received: by 2002:a37:510:0:b0:6a6:ab9e:1b80 with SMTP id 16-20020a370510000000b006a6ab9e1b80mr12714397qkf.770.1654623000847; Tue, 07 Jun 2022 10:30:00 -0700 (PDT) X-Received: by 2002:a37:510:0:b0:6a6:ab9e:1b80 with SMTP id 16-20020a370510000000b006a6ab9e1b80mr12714382qkf.770.1654623000642; Tue, 07 Jun 2022 10:30:00 -0700 (PDT) MIME-Version: 1.0 From: Alexander Aring Date: Tue, 7 Jun 2022 13:29:49 -0400 Message-ID: Subject: ANNOUNCE: Linux Distributed Lock Manager Viewer To: cluster-devel Cc: David Teigland , Christine Caulfield , rostedt@goodmis.org, tz.stoyanov@gmail.com, chan@mcs.anl.gov, gropp@mcs.anl.gov, lusk@mcs.anl.gov, song@kernel.org, linux-trace-users@vger.kernel.org, linux-trace-devel@vger.kernel.org, ocfs2-devel@oss.oracle.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, I've built with existing open source software a Linux DLM (Distributed Lock Manager) viewer [0]. The Linux DLM subsystem can be found in "fs/dlm" and its main users are gfs2, ocfs2 and cluster-md. It is like the name already propagates a distributed lock manager for Linux clusters. A cluster can have shared resources among several nodes. DLM offers to protect shared resources against mutual access e.g. cluster file system gfs2 which operates on shared block devices among several nodes. The viewer offers a graphical view about the used lock states over time in a cluster. Therefore we need to capture Linux DLM traces on all cluster nodes. This is done by using the trace-cmd record command with the time synchronization feature between multiple Linux machines which are part of the DLM cluster. Another tool is dlm2slog2 [1] reads the recorded Linux trace files, merges and converts them into a "drawable" open format known as "slog2" [2] by using the open slog2 sdk. The slog2sdk contains a viewer named "jumpshot" [3] which can be used to visualize the slog2 file. Originally this drawable format was invented to trace MPI (Message Passing Interface) applications, however it does not depend on MPI and offers a graphical tracing for distributed applications which I adapted for DLM lock states. The only "missing" piece here was the convert and merge of the recorded Linux traces to the slog2 fileformat. Hereby I would like to thank all trace-cmd developers (especially those who made the time synchronization feature) and slog2sdk developers which offered they work as open source so it was easy for me to make a small piece of software "dlm2slog2" that works as a bridge between trace-cmd/linux tracing and slog2sdk. As the slog2sdk is written in Java I did Java bindings similar to the existing python bindings for libtracecmd, similar classes, etc. underneath it uses swig. I would like to try to bring those bindings upstream to trace-cmd. It's _not_ necessary to have a Java dependency on trace-cmd, there should be some trace-cmd-java package available which installs the necessary swig library libctracecmdjava that offers jni access to libtracecmd. As well a jar file which can be seen as a library/python module and follows the same license as libtracecmd. The alternative here would be to maintain an out-of-tree trace-cmd-java package. I would like to hear some feedback for it, the current code can be found at [4]. If you want to get started or simply see what this is all about inclusive screenshots, see [0]. - Alex [0] https://gitlab.com/netcoder/dlm2slog2/-/wikis/home [1] https://gitlab.com/netcoder/dlm2slog2 [2] https://www.mcs.anl.gov/research/projects/perfvis/software/log_format/index.htm#SLOG-2 [3] https://www.mcs.anl.gov/research/projects/perfvis/software/viewers/index.htm#Jumpshot-4 [4] https://gitlab.com/netcoder/trace-cmd/-/commits/java_bindings