Der schlüsselbasierte Merge verschmilzt Ereignisse mit identischen Merge-Schlüsseln. Dabei wird das zuerst eingelesene Merge-Ereignis gelöscht und die Anzahl identischer Merge-Schlüssel verringert. Der Merge-Vorgang wird so oft wiederholt, bis keine identischen Merge-Schlüssel innerhalb der aktuellen Prozessinstanz mehr gefunden werden.
Merge-Schlüsselregeln werden in der XML-Datei KeyRules.xml definiert. Dazu werden die an der Bildung des Merge-Schlüssels beteiligten Attribute eines Fragmentereignisses angegeben. Der Merge-Schlüssel selbst wird durch Aneinanderreihen der angegebenen Attributwerte erzeugt.
Beispiel
Folgender Dateiauszug definiert eine Merge-Schlüsselregel, die zur Erzeugung des Merge-Schlüssels für das Start- und Endereignis eines Prozessinstanzfragmentes jeweils den internen Objektnamen des Ereignisses (Attributtyp AT_OBJNAME_INTERN) verwendet. Da in einer Prozessinstanz mehrere Fragmente derselben Fragmentdefinition vorkommen können, wird der Merge-Schlüssel um den Wert des Attributs AT_END_TIME erweitert.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE keyrules SYSTEM "keyrules.dtd">
<keyrules>
...
<processkeyrule>
...
</processkeyrule>
...
<mergekeyrule>
<refobjects>
<refobject objecttype="OT_EVT">
<objectname name="EVT_START"/>
<objectname name="EVT_END"/>
</refobject>
</refobjects>
<keyparts>
<keypart attributetype="AT_OBJNAME_INTERN"/>
<keypart attributetype="AT_END_TIME"/>
</keyparts>
</mergekeyrule>
...
</keyrules>