Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 jdk.jfr.jmod - JFR Module
JDK 17 jdk.jfr.jmod is the JMOD file for JDK 17 JFR module.
JDK 17 JFR module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.jfr.jmod.
JDK 17 JFR module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 JFR module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.jfr.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/jfr/internal/instrument/SocketChannelImplInstrumentor.java
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package jdk.jfr.internal.instrument;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.UnixDomainSocketAddress;
import java.nio.ByteBuffer;
import jdk.jfr.events.Handlers;
import jdk.jfr.internal.handlers.EventHandler;
/**
* See {@link JITracer} for an explanation of this code.
*/
@JIInstrumentationTarget("sun.nio.ch.SocketChannelImpl")
final class SocketChannelImplInstrumentor {
private SocketChannelImplInstrumentor() {
}
@SuppressWarnings("deprecation")
@JIInstrumentationMethod
public int read(ByteBuffer dst) throws IOException {
EventHandler handler = Handlers.SOCKET_READ;
if (!handler.isEnabled()) {
return read(dst);
}
int bytesRead = 0;
long start = 0;
try {
start = EventHandler.timestamp();;
bytesRead = read(dst);
} finally {
long duration = EventHandler.timestamp() - start;
if (handler.shouldCommit(duration)) {
SocketAddress remoteAddress = getRemoteAddress();
if (remoteAddress instanceof InetSocketAddress isa) {
String hostString = isa.getAddress().toString();
int delimiterIndex = hostString.lastIndexOf('/');
String host = hostString.substring(0, delimiterIndex);
String address = hostString.substring(delimiterIndex + 1);
int port = isa.getPort();
if (bytesRead < 0) {
handler.write(start, duration, host, address, port, 0, 0L, true);
} else {
handler.write(start, duration, host, address, port, 0, bytesRead, false);
}
} else {
UnixDomainSocketAddress udsa = (UnixDomainSocketAddress) remoteAddress;
String path = "[" + udsa.getPath().toString() + "]";
if (bytesRead < 0) {
handler.write(start, duration, "Unix domain socket", path, 0, 0, 0L, true);
} else {
handler.write(start, duration, "Unix domain socket", path, 0, 0, bytesRead, false);
}
}
}
}
return bytesRead;
}
@SuppressWarnings("deprecation")
@JIInstrumentationMethod
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException {
EventHandler handler = Handlers.SOCKET_READ;
if (!handler.isEnabled()) {
return read(dsts, offset, length);
}
long bytesRead = 0;
long start = 0;
try {
start = EventHandler.timestamp();
bytesRead = read(dsts, offset, length);
} finally {
long duration = EventHandler.timestamp() - start;
if (handler.shouldCommit(duration)) {
SocketAddress remoteAddress = getRemoteAddress();
if (remoteAddress instanceof InetSocketAddress isa) {
String hostString = isa.getAddress().toString();
int delimiterIndex = hostString.lastIndexOf('/');
String host = hostString.substring(0, delimiterIndex);
String address = hostString.substring(delimiterIndex + 1);
int port = isa.getPort();
if (bytesRead < 0) {
handler.write(start, duration, host, address, port, 0, 0L, true);
} else {
handler.write(start, duration, host, address, port, 0, bytesRead, false);
}
} else {
UnixDomainSocketAddress udsa = (UnixDomainSocketAddress) remoteAddress;
String path = "[" + udsa.getPath().toString() + "]";
if (bytesRead < 0) {
handler.write(start, duration, "Unix domain socket", path, 0, 0, 0L, true);
} else {
handler.write(start, duration, "Unix domain socket", path, 0, 0, bytesRead, false);
}
}
}
}
return bytesRead;
}
@SuppressWarnings("deprecation")
@JIInstrumentationMethod
public int write(ByteBuffer buf) throws IOException {
EventHandler handler = Handlers.SOCKET_WRITE;
if (!handler.isEnabled()) {
return write(buf);
}
int bytesWritten = 0;
long start = 0;
try {
start = EventHandler.timestamp();
bytesWritten = write(buf);
} finally {
long duration = EventHandler.timestamp() - start;
if (handler.shouldCommit(duration)) {
long bytes = bytesWritten < 0 ? 0 : bytesWritten;
SocketAddress remoteAddress = getRemoteAddress();
if (remoteAddress instanceof InetSocketAddress isa) {
String hostString = isa.getAddress().toString();
int delimiterIndex = hostString.lastIndexOf('/');
String host = hostString.substring(0, delimiterIndex);
String address = hostString.substring(delimiterIndex + 1);
int port = isa.getPort();
handler.write(start, duration, host, address, port, bytes);
} else {
UnixDomainSocketAddress udsa = (UnixDomainSocketAddress) remoteAddress;
String path = "[" + udsa.getPath().toString() + "]";
handler.write(start, duration, "Unix domain socket", path, 0, bytes);
}
}
}
return bytesWritten;
}
public SocketAddress getRemoteAddress() throws IOException {
// gets replaced by call to instrumented class
return null;
}
@SuppressWarnings("deprecation")
@JIInstrumentationMethod
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException {
EventHandler handler = Handlers.SOCKET_WRITE;
if (!handler.isEnabled()) {
return write(srcs, offset, length);
}
long bytesWritten = 0;
long start = 0;
try {
start = EventHandler.timestamp();
bytesWritten = write(srcs, offset, length);
} finally {
long duration = EventHandler.timestamp() - start;
if (handler.shouldCommit(duration)) {
long bytes = bytesWritten < 0 ? 0 : bytesWritten;
SocketAddress remoteAddress = getRemoteAddress();
if (remoteAddress instanceof InetSocketAddress isa) {
String hostString = isa.getAddress().toString();
int delimiterIndex = hostString.lastIndexOf('/');
String host = hostString.substring(0, delimiterIndex);
String address = hostString.substring(delimiterIndex + 1);
int port = isa.getPort();
handler.write(start, duration, host, address, port, bytes);
} else {
UnixDomainSocketAddress udsa = (UnixDomainSocketAddress) remoteAddress;
String path = "[" + udsa.getPath().toString() + "]";
handler.write(start, duration, "Unix domain socket", path, 0, bytes);
}
}
}
return bytesWritten;
}
}
⏎ jdk/jfr/internal/instrument/SocketChannelImplInstrumentor.java
Or download all of them as a single archive file:
File name: jdk.jfr-17.0.5-src.zip File size: 363343 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.jlink.jmod - JLink Tool
2023-04-17, ≈64🔥, 0💬
Popular Posts:
How to read XML document with DTD validation from socket connections with the socket\DelayedInput.ja.. .
JDK 17 jdk.jfr.jmod is the JMOD file for JDK 17 JFR module. JDK 17 JFR module compiled class files a...
How to download and install JDK (Java Development Kit) 5? If you want to write Java applications, yo...
JDK 11 jdk.jcmd.jmod is the JMOD file for JDK 11 JCmd tool, which can be invoked by the "jcmd" comma...
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...